環境
Ubuntu20.4
who
whoは、現在ログインしているユーザーの一覧を表示するコマンドです。自分の環境では、ローカルでUbuntuを動作させており、基本的に自分だけしかログインすることがないため、自分のユーザー名(vagrant)だけが表示されています。pts/0はTTYと呼ばれる、仮想端末(ターミナル)名です。そして、ログインした時間と、括弧の中にログイン元が表示されます。
サーバーに複数ユーザーがログインして利用する環境であれば、サーバー管理をする場合に必要となるコマンドです。「これから、サーバーを再起動するので、ログインしている人はログアウトしてください」というアナウンスを出した後、「まだ、ログインしている人はいないだろうか」と、確認するときは、このコマンドで確認することができます。また、不審な人がログインしていないかを調べるときにも使います。
$who
vagrant pts/0 2023-03-06 09:42 (10.0.2.2)
w
whoによく似たコマンドでwというコマンドがあります。wを使ってもログインしているユーザーの一覧を表示することができますが、wでは更に、whoよりももっと詳細な情報を表示することができます。誰がログインしているかだけでなく、ログインしているユーザーが、現在何の処理を流しているのかを表示することができます。
ヘッダにはOSの稼働状況が表示されます。ヘッダに表示される情報は、左から、現在の時刻、ログインして何分が経過したかが表示されます。up 49 minと表示されているため、ログインして49分経過したことが分かります。次の表示は、ログインしているユーザー数です。現在ログインしているユーザーは自分だけなので、1と表示されます。load averageは負荷状況を表します。負荷状況は、1分間、5分間、15分間と3種類が表示されます。現在の負荷状況は、何も処理を流していないため、全て、0.00が表示されています。JCPUは、ユーザーが、ログインしてから実行されたプロセスが何分だったかを表示します。PCPUは、現在、実行中のプロセスが何分実行されているかを表示します。WHATは、ユーザーが現在何の処理を実行しているかを表示します。現在、自分はwコマンドを実行したので、wが表示されています。
複数人がサーバーにログインしている場合、誰が重たい処理を流しているのかをここで確認することができます。
$w
10:31:00 up 49 min, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
vagrant pts/0 10.0.2.2 09:42 1.00s 0.14s 0.00s w