who (フー)コマンドは、現在コンピュータ にログインしているユーザの一覧を表示する標準UNIX コマンドである。
who と関連するものにw コマンドがある。これはwhoと同じ情報を表示し、さらに追加の情報も出力する。
仕様
Single UNIX Specification (SUS) では、who はアクセスできるユーザ情報をリストすべきとされており、内容は実装依存である。X/Open System Interfaces (XSI) 拡張においては、さらにユーザ名、端末、ログイン時刻、プロセスID、端末上で最後に活動してからの経過時間のデータについて述べている。加えて、ユーザ情報の取得に使うデータベースを、オプション引数で別なものに変更できる(例えば/var/run/wtmpなど)。
whoコマンドは引数「am i」 か「am I 」を付けて起動することもできる(すなわち「who am i 」か「who am I 」)。これは現在の端末に関する情報だけを表示する(後述の-m オプションも参照)。
使用方法
SUSでは-m 、-T 、-u オプションだけが定義されており、他のオプションはXSI拡張に記載されている。
-a , ユーザ情報データベースを-b、-d、-l、-p、-r、-t、-T、-uオプションを用いて処理する。
-b , システムが最後にリブートされた時刻を表示する。
-d , ゾンビプロセス とその情報を表示する。
-H , 行ヘッダを表示する。
-l , ユーザがログインに使える端末を表示する。
-m , 現在の端末についての情報だけを表示する。
-p , アクティブなプロセスを表示する。
-q , クイックフォーマット。ログインしているユーザの名前と数だけを表示し、他のオプションは無効にする。users コマンドと等価である。
-r , initプロセスのランレベル を表示する。
-s , (デフォルト)名前、端末、詳細時刻だけを表示する。
-t , システムクロックが最後に変更された時刻を表示する。
-T , 各端末の詳細を標準フォーマットで表示する(「例」の節を参照)。
-u , アイドル時間を表示する。XSIではログインしているユーザと端末が現在使われているかどうかを表示する。
他のUNIXやUnix系 オペレーティングシステムでは、規格にないオプションを持っている事がある。GNU Core Utilities のwho は-u と同様に振舞う-i オプションを持ち、-w オプションでユーザがメッセージ(writeによる)を受け付けるかを表示する(SUSでは-T オプション)。また、GNU のwho とBSD のwho ではいくつかのオプションが省かれている(-a 、-b 、-d など)。GNU のwho では、-l オプションをホスト名を出力する際にDNS 検索を行うかのスイッチに使っている。
出力
SUSでは出力フォーマットは実装依存とされている。XSI拡張ではフォーマットについても記載されているが完全ではなく、区切り文字とフィールドの長さが明確に決められていない。そのため、whoの出力フォーマットは各Unixの実装でかなり異なっている。
関連項目
外部リンク
ファイルとファイルシステム管理 プロセス管理 ユーザ管理/環境 テキスト処理 シェル ビルトイン通信 検索 マニュアル ソフトウェア開発 その他