概要
`logname`コマンドは、ユーザーがシステムにログインセッションを開始した際に使用した名前を標準出力に表示します。これは`whoami`とは微妙ですが重要な違いがあります。`whoami`が現在コマンドを実行している「実効ユーザー(effective user)」の名前を出力するのに対し、`logname`はセッションの「実際のログインユーザー(real login user)」の名前を出力します。そのため、`sudo`や`su`コマンドで他のユーザーの権限を取得した後でも、`logname`は元のログインユーザーの名前を表示します。
主な特徴
lognameコマンドの主な特徴は以下の通りです。
- ログインセッションを開始したユーザー名を出力します。
- `$LOGNAME`環境変数の値に基づいて動作します。
- 実際のログインユーザーを確認するために使用されます。
- オプションがほとんどないシンプルなコマンドです。
lognameとwhoamiの違い
両コマンドはともにユーザー名を出力しますが、権限変更の状況では異なる結果を示します。
- logname: 実際のログインユーザー名(real user)を出力します。`su`や`sudo`使用後も変更されません。
- whoami: 現在コマンドを実行している実効ユーザー名(effective user)を出力します。`su`や`sudo`使用後には`root`のように変更されたユーザー名を出力します。
主なオプション
lognameコマンドは非常にシンプルで、主に`--help`や`--version`のような基本的なヘルプオプションのみが使用されます。
1) 도움말
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`logname` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
lognameコマンドのさまざまな使用例を通して機能を習得しましょう。
現在のユーザー名を確認
logname
現在ログインしているユーザー名を出力します。
suコマンド後のユーザー名の比較
logname
su
whoami
logname
`su`コマンドで`root`ユーザーに切り替えた後、`whoami`と`logname`の出力結果を比較します。`whoami`は`root`を出力しますが、`logname`は元のログインユーザー名を出力します。
インストール
lognameは`coreutils`パッケージの一部であり、ほとんどのLinuxディストリビューションにデフォルトで含まれています。別途インストールする必要はありません。
ヒントと注意事項
lognameコマンドを使用する際の注意点をまとめました。
ヒント
- スクリプトで現在コマンドを実行しているユーザーの権限を確認するには`whoami`を、システムに接続した実際のユーザーを記録するには`logname`を使用することをお勧めします。
- `logname`は`w`コマンドの出力結果と同様に、実際のログインユーザーを追跡するために使用できます。