本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、ログイン中のユーザーを一覧表示する「who」コマンドです。
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回はログイン中のユーザーを一覧表示する「who」コマンドです。
「who」は、システムに誰がログインしているかを表示するコマンドです。「/var/run/utmp」の情報に基づいています。
whoと同様なコマンドに「w」(連載第226回)があります(※1)。
※1 wコマンドはprocps-ngパッケージに収録されているコマンド。ログイン中のユーザーが実行しているプロセスや利用したCPU時間なども同時に表示する。なお、whoコマンドはcoreutilsパッケージに収録されている。
who [オプション]
※[ ]は省略可能な引数を示しています
短いオプション | 長いオプション | 意味 |
---|---|---|
-a | --all | 全ての情報を表示する。「-b -d --login -p -r -t -T -u」相当(※2) |
-b | --boot | 現在ログインしているシステムが起動した時刻を表示する |
-d | --dead | 終了したプロセスを表示する |
-H | --heading | ヘッダ行を表示する |
-l | --login | システムのログインプロセスを表示する |
--lookup | 正式なホスト名をDNSから取得して表示する | |
-m | 標準入力に関連付けられたホスト名とユーザーのみを表示する(※3) | |
-q | --count | ログイン中のユーザーのログイン名とユーザー数を表示する |
-r | --runlevel | 現在のランレベルを表示する(※4) |
-s | --short | 名前と端末、ログインした時刻のみを表示する(デフォルト) |
-T,-w | --mesg,--message,--writable | ユーザーがメッセージを受け取れる状態かどうかを表示する(※5) |
-u | --users | ログイン以降のアイドルタイム(IDLE列)を表示する(過去1分以内にアクティブな場合は「.」、24時間以上使用されていない場合は「old」と表示) |
「who」を実行すると、現在ログインしているユーザーのログイン名と使用している端末、ログイン時刻、どこからログインしているかを表示します(画面1)。
who
(現在ログインしているユーザーと使用している端末を一覧表示する)(画面1)
「who -m」は、whoコマンドを実行したユーザーの名前と端末のみを表します(画面2)。
「who am i」も同じ内容を表示します。これは任意の2つの引数を指定すると「who -m」として動作するためです。
who -m
(whoコマンドを実行しているユーザーの名前と端末を表示する)(画面2)
who am i
(「who -m」と同じ)(画面2)
なお、whoコマンドが表示するのは「ログイン名」です。「su」コマンド(第67回)などで別のユーザーとして実行している場合もログイン名を表示します(画面3)。これに対し、自分の名前と所属するグループを表示する「whoami」コマンド(第69回)では、現在のユーザー名を表示します。
西村 めぐみ(にしむら めぐみ)
PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『Accessではじめるデータベース超入門[改訂2版]』『macOSコマンド入門』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.