who コマンド
目的
現在ログインしているユーザーを識別します。
構文
who [ -a | -b -d -i -l -m -p -q -r -s -t -u -w -A -H -T -X ] [ File ]
who am { i | I }
説明
who コマンドは、ローカル・システム上のすべての現行ユーザーに関する情報を表示します。表示される情報は、ログイン名、tty、ログインの日付と時間です。who am i または who am I と入力すると、ログイン名、tty、ログインした日付と時間が表示されます。リモート・マシンからログインすると、そのコンピューターのホスト名も表示されます。
who コマンドは、ログインしてからの経過時間、コマンド・インタープリター (シェル) のプロセス ID、 ログイン、ログオフ、再始動、システム・クロックに対する変更、および初期化プロセスで生成された他のプロセスも表示できます。
who コマンドの一般出力フォーマットは下記のとおりです。
Name [State] Line Time [Activity] [Pid] [Exit] (Hostname)
ここで、
項目 | 説明 |
---|---|
Name | ユーザーのログイン名を識別します。 |
State | 誰でもその回線に書き込み可能かどうかを示します (-T フラグを参照)。 |
Line | /dev ディレクトリーで見つかった回線名を識別します。 |
Time | ユーザーがログインした時刻を表します。 |
Activity | ユーザー回線上で最後にアクティビティーが発生してからの時間 (時、分) を表します。 ここで .(ドット) は、最後の 1 分以内の回線アクティビティーを示します。回線から 24 時間を超えて信号が ないか、最後にシステムを始動してから一度も使用されていない場合には、このエントリーには old と印が付けられます。 |
Pid | ユーザーのログイン・シェルのプロセス ID を識別します。 |
Term | プロセスの終了状況を識別します (-d フラグのセクションを参照)。 終了値の詳細については、 wait サブルーチンのセクションまたは /usr/include/sys/signal.h ファイルを参照してください。 |
Exit | 終了したプロセスの終了状況を識別します (-d フラグのセクションを参照)。 |
Hostname | ユーザーのログイン元のコンピューター名を示します。 |
情報を得るために、who コマンドは常に /etc/utmp ファイルを検査します。File パラメーターで別のファイルを指定した場合、who コマンドは代わりにそのファイルを調べます。通常この新規ファイルは、 /var/adm/wtmp ファイルまたは /etc/security/failedlogin ファイルです。
File パラメーターで複数のファイル名を指定すると、最後のファイル名のみが使用されます。
注: このコマンドは、ローカル・ノード上のユーザーだけを識別します。
フラグ
項目 | 説明 |
---|---|
-a | /etc/utmp ファイルまたはすべての情報が入っている指定されたファイルを処理します。-bdlprtTu フラグを指定した場合と同じです。 |
-b | 最新のシステム始動時刻と日付を示します。 |
-d | init で再生成されずに期限が切れてしまったすべてのプロセスを表示します。 非活動プロセスの終了フィールドが表示され、 その中には非活動プロセスの打ち切り値および終了値 (wait によって戻される) が入っています。 (このフラグを使用すると、プロセスが終了した理由を、アプリケーションが戻すエラー番号で判別することができます。) |
-l | すべてのログイン・プロセスをリストします。 |
-m | 現行端末に関する情報のみを表示します。who -m コマンドは、who am i コマンドおよび who am I コマンドと同じです。 |
-p | 現在アクティブで、以前 init によって生成されたアクティブ・プロセスをリストします。 |
-q | ユーザーの早見リストとローカル・システム上のユーザー数を出力します。 |
-r | プロセスの現行実行レベルを示します。 |
-s | 名前、回線、および時間のフィールドだけをリストします。このフラグはデフォルトです。したがって、who コマンドと who -s コマンドは同じです。 |
-t | date コマンドを使用して root ユーザーがシステム・クロックに対して最後に行った変更を示します。システムのインストール後に date コマンドが実行されていなければ、who -t コマンドを実行しても出力は生成されません。 |
-u または -i | 各現行ユーザーのユーザー名、tty、ログイン時間、回線アクティビティー、およびプロセス ID を表示します。 |
-A | /etc/utmp ファイル内のすべてのアカウント・エントリーを表示します。 これらのエントリーは、acctwtmp コマンドによって生成されます。 |
-H | ヘッダー (タイトル) を表示します。 |
-T または -w | tty の状態を表示し、その tty に書き込めるユーザーを下記のように示します。
|
-X | 各ユーザー名を最初の 8 文字に切り捨てるのではなく、ユーザー名のすべての使用可能な文字を印刷します。 ユーザー名も、出力の最後のカラムに移動されます。 |
終了状況
このコマンドは、下記の終了値を戻します。
項目 | 説明 |
---|---|
0 | 正常終了。 |
>0 | エラーが発生しました。 |
例
- ローカル・システム・ノードを使用しているユーザーに関する情報を表示するには、下記のように入力します。
下記のような情報が表示されます。who
pts/1 Nov 9 00:20 long_username_greater_than_eight_characters (localhost)
- ユーザー名を表示するには、以下のように入力します。
下記のような情報が表示されます。who am i
george lft/0 Jun 8 08:34
- ログイン、ログアウト、システム始動、およびシステム・シャットダウンのヒストリーを表示するには、下記のように入力します。
下記のような情報が表示されます。who /var/adm/wtmp
hank lft/0 Jun 8 08:34 (ausnix5) john lft/0 Jun 8 08:34 (JIKey) mary lft/0 Jun 8 08:22 (machine.austin.ibm) jan pts4 Jun 8 09:19 (puff.wisc.edu)
- ローカル・システム・ノードの実行レベルを表示するには、次のように入力します。下記のような情報が表示されます。
who -r. run-level 2 Jun 8 04:15 2 0 s
- 現在アクティブで、以前 init によって生成されたアクティブ・プロセスを表示するには、下記のように入力します。
who -p下記のような情報が表示されます。
srcmstr . Jun 8 04:15 old 2896 cron . Jun 8 04:15 old 4809 uprintfd . Jun 8 04:15 old 5158
- -bdlprtTu フラグを指定して /var/adm/wtmp ファイルを処理するには、下記のように入力します。
who -a /var/adm/wtmp下記のような情報が表示されます。
. system boot Jun 19 10:13 . run-level 2 Jun 19 10:13 . . Jun 19 10:14 old . . Jun 19 10:14 old . . Jun 19 10:14 old rc - . Jun 19 10:13 old . . Jun 19 10:16 old . . Jun 19 10:14 old srcmstr - . Jun 19 10:14 old rctcpip - . Jun 19 10:14 old rcdce - . Jun 19 10:14 old rccm - . Jun 19 10:15 old dceupdt - . Jun 19 10:15 old rcnfs - . Jun 19 10:15 old cron - . Jun 19 10:16 old piobe - . Jun 19 10:16 old qdaemon - . Jun 19 10:16 old writesrv - . Jun 19 10:16 old uprintfd - . Jun 19 10:16 old . . Jun 19 10:16 old LOGIN - lft0 Jun 19 10:16 old . . Jun 19 10:16 old . . Jun 19 10:16 old
ファイル
項目 | 説明 |
---|---|
/etc/utmp | ユーザーとアカウントの情報が入っています。 |
/etc/security/failedlogin | すべての無効ログインのヒストリーが入っています。 |
/var/adm/wtmp | ファイルが最後に作成されてからのすべてのログインのヒストリーが入っています。 |
/usr/include/sys/signal.h | 終了値のリストが入っています。 |