who コマンド

目的

現在ログインしているユーザーを識別します。

構文

who [ -a |  -b -d -i -l -m -p -q -r -s -t -u  -w -A -H -T ] [ File ]

who am }

説明

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 ユーザーのログイン元のマシン名を示します。

File パラメーターでファイルを指定した場合は、who コマンドは情報を得るためにそのファイルを調べます。

File パラメーターで複数のファイル名を指定すると、最後のファイル名のみが使用されます。

注:
このコマンドは、ローカル・ノード上のユーザーだけを識別します。

フラグ

-a すべての情報を使用して、指定されたファイルを処理します。 -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 コマンドを使用してシステム・クロックに最後に行った変更を示します。システムのインストール後に date コマンドが実行されていなければ、who -t コマンドを実行しても出力は生成されません。
-u または -i 各現行ユーザーのユーザー名、tty、ログイン時間、回線アクティビティー、およびプロセス ID を表示します。
-A すべてのアカウンティング・エントリーを表示します。
-H ヘッダー (タイトル) を表示します。
-T または -w tty の状態を表示し、その tty に書き込めるユーザーを下記のように示します。
+
誰でも書き込み可能。
?
正しくない回線が検出された。

戻りコード

このコマンドは次の終了値を戻します。

0 正常終了。
>0 エラーが発生しました。

  1. ローカル・システム・ノードを使用しているユーザーに関する情報を表示するには、以下のように入力します。

    who

    以下のような情報が表示されます。

    joe lft/0 Jun 8 08:34
  2. ユーザー名を表示するには、以下のように入力します。

    who am i

    以下のような情報が表示されます。

    george lft/0 Jun 8 08:34
  3. ログイン、ログアウト、システム始動、およびシステム・シャットダウンのヒストリーを表示するには、下記のように入力します。

    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)
  4. ローカル・システム・ノードの実行レベルを表示するには、下記のように入力します。
    who -r
    以下のような情報が表示されます。

    . run-level 2 Jun 8 04:15 2 0 s
  5. 現在アクティブで、以前に init によって作成されたアクティビティー・プロセスを表示するには、下記のように入力します。
    who -p
    以下のような情報が表示されます。

    srcmstr   .    Jun 8  04:15  old  2896
    cron      .    Jun 8  04:15  old  4809
    uprintfd  .    Jun 8  04:15  old  5158
  6. -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 

関連情報

date コマンド