whoamiコマンドとは
`whoami`コマンドは、
Unix系オペレーティングシステム(Linux, macOSなど)およびWindows環境で利用できるコマンドラインツールです。このコマンドは、現在システムにログインしているユーザーの有効なユーザー名を表示します。`who am i?`という英語の質問を繋げたような名前が特徴的で、その名の通り「私は誰?」とシステムに問いかけることで、現在操作しているユーザー名を知ることができます。
概要
Unix系システムでは、`id -un`コマンドと同等の効果を持ちます。`$USER`
環境変数と似ていますが、`whoami`が出力するのは現在の有効なユーザー名であるのに対し、`$USER`はログイン時に使用したユーザー名を示します。例えば、`John`というユーザーでログインした後、`su`コマンドで`root`ユーザーになった場合、`whoami`は`root`を、`echo $USER`は`John`を表示します。これは、`su`コマンドがデフォルトではログインシェルを起動しないためです。
GNU版の`whoami`は、Richard Mlynarikによって
GNU Core Utilities(coreutils)の一部として実装されました。
また、Windows環境でも`whoami`コマンドが利用可能です。Windows 2000 Resource KitおよびWindows XP SP2 Support Toolsに含まれており、UNIX版とは異なり、多くのオプションが用意されています。これにより、ログイン中のユーザーのユーザー名、グループ、権限に関する詳細な情報を確認できます。
使用例
rootユーザーでログインしている場合
bash
$ whoami
root
baldurユーザーでログインしている場合
bash
$ whoami
baldur
ヘルプを表示する
bash
$ whoami --help
バージョンを表示する
bash
$ whoami --version
Windowsでの使用例
Administratorとしてログオンしている場合
bash
C:\> whoami
computer_name\Administrator
ログインユーザーの特権を表示する
bash
C:\> whoami /priv
/privオプションを使用すると、ユーザーの特権に関する詳細なリストが表示されます。
まとめ
`whoami`コマンドは、使用している環境のユーザー名を手軽に確認できる便利なツールです。
Unix系システムとWindowsの両方で利用でき、オプションを指定することでユーザーの権限やグループ情報を取得することも可能です。特に、複数のユーザーでシステムを共有している場合や、権限管理を行う上で、現在のユーザーを把握するために不可欠なコマンドと言えるでしょう。
関連項目
`logname`: ログインしたユーザー名を表示するコマンド
`id`: ユーザーIDやグループIDを表示するコマンド
`who`: システムにログインしているユーザーを表示するコマンド
ユーザー識別子
外部リンク
whoami(1) Linux man page (JM Project)
whoami(1B) man page (Solaris 10 Reference Manual) (英語)
whoami(1) man page (HP-UX リファレンス)
Microsoft TechNet Whoamiのページ