標準的なUnixコマンドはwho、現在コンピュータにログインしているユーザーの一覧を表示します。
このコマンドは、同じ情報を提供するだけでなく、追加のデータや統計情報も表示するwhoコマンドwに関連しています。
whoログインしているユーザー名を表示するコマンドは、1965年にノエル・モリスによってCTSSオペレーティングシステム向けに初めて実装されました。これがきっかけとなり、トム・ヴァン・ヴレックはMultics版を作成しました。[ 1 ] [ 2 ]その後、Unixバージョン1に登場し[ 3 ] 、1987年第2号以降、X/Open移植性ガイドの一部となりました。これはPOSIX.1の最初のバージョンとSingle Unix仕様に引き継がれました。
その存在は、who互いにコミュニケーションを取る必要性を持つ、共有された協調的な環境にあるオンラインユーザーグループの存在を前提としている。[ 1 ]
GNU coreutilswhoにバンドルされているバージョンは、Joseph Arceneaux、David MacKenzie、および Michael Stone によって作成されました。[ 4 ]
Single UNIX Specification (SUS) では、アクセス可能なユーザーに関する情報をリストする必要があると規定されています。XSIwho拡張機能では、ユーザー名、端末、ログイン時間、プロセス ID、端末で最後にアクティビティが発生してからの時間などのデータも規定されています。さらに、ユーザー情報に使用される代替システム データベースをwhoのオプション引数として指定できます。
このコマンドは、引数am iまたはam I(として呼び出されるwho am i)を指定して呼び出すことができwho am I、現在の端末に関する情報のみを表示します(以下のコマンドttyおよびオプションを参照してください。この呼び出しはそれらと同等です)。-m
拡張機能のないSUSでは、以下の-m、、、-Tおよび-uオプションのみが指定され、その他のオプションはすべてXSI拡張機能で指定されます。
-aユーザー情報に使用されるシステムデータベースを、、、、、、、および-bで処理します。-d-l-p-r-t-T-u-bシステムが最後に再起動された時刻を表示します。-dゾンビプロセスと詳細を表示する-H列ヘッダーを表示する-lユーザーがログインできる端末を表示します-m現在の端末に関する情報のみを表示する-pアクティブなプロセスを表示する-qクイックフォーマットでは、ログインしている全ユーザーの名前と人数のみを表示し、他のすべてのオプションを無効にします。usersコマンドラインユーティリティと同等です。-r初期化プロセスのランレベルを表示します。-s(デフォルト)名前、端末、時刻の詳細のみを表示します-tシステムクロックが最後に変更された日時を表示します。-T各端末の詳細を標準形式で表示する(例のセクションの注記を参照)。-uアイドル時間を表示します。XSI はログインしているユーザーを表示し、端末が最近使用されたかどうかに関する情報を表示します。他の Unix およびUnix ライクなオペレーティングシステムでは、追加のオプションが用意されている場合があります。GNUには、と同様の動作をするオプションと、リストされたユーザーがメッセージを受け入れるかどうかを表示するオプションが含まれています(が指定されている場合、SUS はこれを表示します)。ただし、GNUとBSD はどちらも上記のオプション ( 、、など)のいくつかを省略しています。GNUは代わりに を使用して、リストされたホスト名の DNS ルックアップを実行します。-i-u-w-Twhowho-a-b-dwho-l
拡張機能のないSUSでは、出力フォーマットは「実装依存」と規定されています。XSI拡張機能ではフォーマットが指定されていますが、完全に規定されているわけではないと明記されています。区切り文字やフィールド長は厳密には指定されていません。そのため、Unixの実装によって出力フォーマットは大きく異なります。