who (Unix)

開発AT&Tベル研究所
初回リリース1971年11月3日 (1971年11月3日
オペレーティングシステムMulticsUnixUnixライクPlan 9
プラットフォームクロスプラットフォーム
タイプコマンド
ライセンスcoreutils : GPLv3+

標準のUnixコマンドはwho、現在コンピューターにログインしているユーザーのリストを表示します。

このwhoコマンドはコマンドwに関連しており、同じ情報を提供しますが、追加のデータと統計も表示します。

歴史

whoログインしているユーザー名を表示するコマンドは、1965年にNoel MorrisによってCTSSオペレーティングシステム用に初めて実装されました。これはTom Van VleckがMulticsバージョンを作成するきっかけとなりました[ 1 ] [ 2 ]その後このコマンドVersion 1 Unix [ 3 ]に登場し、1987年の第2版以降はX/Open Portability Guideの一部となりました。これ はPOSIX.1の最初のバージョンとSingle Unix仕様に継承されました

の存在は、who互いにコミュニケーションをとる必要がある共有の同僚環境におけるオンラインユーザーのグループの存在を前提としています。[ 1 ]

GNU coreutilswhoにバンドルされているバージョンは、Joseph Arceneaux、David MacKenzie、Michael Stoneによって書かれました。[ 4 ]

仕様

Single UNIX Specification(SUS)では、whoアクセス可能なユーザーに関する情報をリストすることを規定しています。XSI拡張では、ユーザー名、端末、ログイン時刻、プロセスID、端末で最後にアクティビティが発生してからの経過時間のデータも規定しています。さらに、ユーザー情報に使用される代替システムデータベースを、who のオプション引数として指定できます

このコマンドは、引数am iまたは(つまりまたはam Iとして呼び出される)で呼び出すことができ、現在の端末に関する情報のみを表示します(この呼び出しが同等である コマンドttyと以下のオプションを参照してください)。who am iwho 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コマンドラインユーティリティと同等です
-rinitプロセスの実行レベルを表示します。
-s、(デフォルト)名前、端末、時間の詳細のみを表示します
-tシステムクロックが最後に変更された日時を表示します
-T各端末の詳細を標準形式で表示します(例のセクションの注記を参照)。
-uアイドル時間を表示します。XSIはログインしているユーザーを表示し、端末が最近使用されたかどうかの情報を表示します。

他の Unix およびUnix 系オペレーティング システムでは、追加のオプションが追加される場合があります。GNU who にと同様に動作するオプションと、リストされているユーザーがメッセージを受け入れるかどうかを表示するオプション (が指定されている場合、SUS はこれを表示します) が含まれていますが、GNUBSD は両方とも上記のオプションのいくつか ( 、、など) を省略しています。GNU代わりに を使用して、リストされているホスト名で DNS 検索を実行します。 -i-u-w-Twhowho-a-b-dwho-l

出力

拡張機能のないSUSでは、出力形式は「実装定義」と規定されています。XSI拡張機能は形式を指定しますが、完全には規定されていないことに注意してください。つまり、区切り文字やフィールド長は正確に規定されていません。そのため、出力形式はUnixの実装間で大きく異なります

参照

参考文献

  1. ^ a b Van Vleck, Tom (1997年9月8日). 「whoコマンド」 . 2025年5月1日閲覧
  2. ^who  – シェルおよびユーティリティリファレンス、 The Single UNIX 仕様、バージョン5、 The Open Group
  3. ^who(1)  –  FreeBSD一般コマンドマニュアル
  4. ^who(1)  –  Linuxユーザーマニュアル– Manned.org のユーザーコマンド