GNU Core Utilities/who
who
コマンドは、現在ログインしているユーザーの情報を表示するコマンドです。GNU coreutils に含まれており、Linux では GNU 版が、FreeBSD では BSD 版が提供されています。基本的な動作は共通していますが、細かなオプションの違いがあります。
基本的な使い方
編集who [オプション]
主なオプション(GNU coreutils版)
編集主なオプション オプション 説明 -a, --all
すべての情報を表示 ( -b -d --login -p -r -t -T -u
を含む)-b, --boot
システムの最終起動時刻を表示 -d, --dead
終了したプロセスを表示 -H, --heading
出力に見出しを追加 -l, --login
ログインプロセスを表示 -m
実行ユーザーの情報のみを表示 ( who am i
と同じ)-p, --process
init によって作成されたプロセスを表示 -q, --count
ログインしているユーザーの数を表示 -r, --runlevel
現在のランレベルを表示 -s
ユーザー名、端末、ログイン時刻のみを表示(デフォルト動作) -t, --time
システムの最終クロック変更時刻を表示 -u, --users
ログインユーザーの情報を詳細に表示
例
編集現在のログインユーザーを表示
編集who
または
who -s
- 出力例
user1 tty1 2025-01-31 10:15 user2 pts/0 2025-01-31 10:20
自分自身の情報を表示
編集who am i
または
who -m
- 出力例
user1 pts/0 2025-01-31 10:20
システムの最終起動時刻を表示
編集who -b
- 出力例
system boot 2024-01-30 08:00
ログインユーザーの数を表示
編集who -q
- 出力例
user1 user2 user3 # users=3
すべての情報を表示
編集who -a
- 出力例(環境により異なる):
system boot 2024-01-30 08:00 user1 tty1 2025-01-31 10:15 00:10 192.168.1.2 user2 pts/0 2025-01-31 10:20 00:05 192.168.1.3
FreeBSD 版との違い
編集FreeBSD でも who
コマンドは提供されていますが、GNU coreutils 版といくつか違いがあります。
主な違い:
編集-q
(ユーザー数表示)オプションが FreeBSD にはない- FreeBSD でログインユーザー数を取得するには
who || wc -l
を使う。
who || wc -l
- FreeBSD でログインユーザー数を取得するには
-a
(すべての情報表示)の内容が異なる- FreeBSD では
-a
を指定しても-b
や-d
などの情報が含まれない。
- FreeBSD では
- GNU coreutils 版を FreeBSD で使う方法
coreutils
パッケージをインストールするとgwho
という名前で GNU 版who
が使える。
pkg install coreutils gwho -q # GNU coreutils 版の who
詳しくは、それぞれの環境で man who
を確認してください。