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, --processinit によって作成されたプロセスを表示 -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 を確認してください。