概要
whoamiは「Who am I?(私は誰?)」を略したコマンドで、現在のシェルでコマンドを実行しているユーザーのアカウント名を出力します。特に`sudo`コマンドを使用したり、他のユーザーに切り替えたり(`su`)した場合に、現在どの権限でコマンドを実行しているかを明確に把握するのに役立ちます。このコマンドは`$EUID`環境変数の値に基づいてユーザー名を出力し、`id -un`コマンドと同じ結果を返します。
主な特徴
whoamiコマンドの主な特徴は以下の通りです。
- 現在ログインしているユーザー名を出力します。
- ログインした実際のユーザー(`logname`)とは異なる、有効なユーザーIDを出力します。
- スクリプトで現在実行中のユーザーを確認するためによく使用されます。
- オプションがほとんどないシンプルなコマンドです。
whoamiとwhoの違い
whoamiとwhoはどちらもユーザー情報を出力しますが、提供する情報の範囲が異なります。
- whoami: 現在コマンドを実行しているユーザー名のみを出力します。
- who: 現在システムにログインしているすべてのユーザーの名前、ログイン時間、ターミナル情報などを出力します。
主要オプション
whoamiコマンドは非常にシンプルで、主に`-h`や`-v`のような基本的なヘルプオプションのみが使用されます。
1) ヘルプ
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`whoami` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
whoamiコマンドの様々な使用例を通して機能を習得しましょう。
現在のユーザー名を確認
whoami
現在ログインしているユーザー名を出力します。
rootユーザーに切り替えて確認
whoami
sudo whoami
`sudo`コマンドでroot権限を取得した後、`whoami`を実行すると、現在コマンドを実行している有効なユーザー名が`root`として出力されます。
他のユーザーに切り替えて確認
whoami
su guest
whoami
`su`コマンドで他のユーザーである`guest`に切り替えた後、`whoami`を実行すると`guest`として出力されます。
インストール
whoamiは`coreutils`パッケージの一部であり、ほとんどのLinuxディストリビューションにデフォルトで含まれています。別途インストールする必要はありません。
ヒント&注意事項
whoamiコマンドを使用する際の注意点をまとめました。
ヒント
- スクリプトで現在のユーザーが`root`であるか確認する用途で、`if [ "$(whoami)" == "root" ]; then ... fi`のように使用できます。
- `whoami`は`id -un`と同じ情報を出力します。`id`コマンドはユーザーのUID、GIDなど、より詳細な情報を提供します。