Linuxでログインユーザーを一覧確認できる3つのコマンド w/who/users

Linux上でこういうことを調べたい

  • 今誰がログインしているのか、
  • ログインユーザーの一覧確認
  • ログインユーザーの詳細表示

調べるには色々な方法があります。
知っているとイザって時に便利です。

Linuxでログインユーザーを一覧確認できるコマンド

それを具体的な使い方を含めて3つ紹介します。

w : 全ログインユーザーの詳細確認

初めは wコマンド から紹介

これはログインユーザー一覧を表示でき、
その上で詳細情報まで取得できる優れものです。

例えば以下のような一覧確認ができます。

▼ 詳細をこと細かく表示してくれる

上記では3人分の表示がされてます。

ユーザー列の各カラムの意味はつぎの通りです。

  • USER
    ログインユーザー名のこと
  • TTY
    ログインしてるユーザーのTTY名。TTYとはUNIX系OSで使える接続端末のデバイスファイル名を表示するコマンド。接続端末ごとの名札みたいなもの(詳細 : https://wa3.i-3-i.info/word11668.html
  • FROM
    リモートのホスト名またはIPアドレス
  • @Login
    いつログインしたかの時間
  • IDLE
    最後の操作から端末を操作していない時間
  • JCPU
    TTYに紐づけられている全てのプロセスで消費された時間。ただし過去のバックグランドジョブは含まれないが、現在稼働してるバックグランドジョブは含まれる
  • PCPU
    現在ログインユーザーが実行しているプロセスによって消費された時間。このプロセスは後述のwhatフィールドのものと同様
  • WHAT
    現在ログインユーザーが実行してるプロセスのコマンド名。例えば vim  だったり python  だったり…何も実行してないなら -bash  と表示される

このwコマンドだけで様々なことが分かります。

誰がいつどこからログインしているかは勿論、変なプロセスを実行しているユーザーがいないかなども確認可能です。

とても気の利いたコマンドです。

who : 全ログインユーザーを簡易表示

お次は whoコマンド です。

これはwコマンドよりも簡易表示になります。

▼ 例えばこんな表示になる

各ログインユーザーを一覧確認できます。

ユーザー列の各カラムは左から順に ユーザー名/TTY名/ログイン時刻/リモートのホスト名 という感じで並んでます。wコマンドより情報量は少ないです。

場合によってはwhoコマンドが便利かも

users : ログインユーザー名の一覧表示

最後が usersコマンド です。

単純にログインユーザー名だけ表示します。

▼ 例えば以下のような使い方をする

まあこれだけです。

先ほどのwコマンド・whoコマンドはユーザー情報の一覧表示でした。こちらはユーザー名だけに特化してるコマンドです。

オプションもない超シンプルなコマンド。

w/who/usersコマンドの使い分け方とか

ということで簡単にまとめます。

▼ こういう使い分けができそう

  • wコマンド
    誰が・いつ・どこから接続して・何を実行しているか…などを細かく一覧確認できるコマンド。ログインユーザー情報を正確に把握したいならこれを使えばOK
  • whoコマンド
    誰が・いつ・どこから接続したまでを表示してくれるコマンド。ログインユーザーの素性だけ知りたいならwコマンドより便利かも…?
  • usersコマンド
    誰がの部分だけに特化したコマンド。ログインユーザー名だけを一覧表示してくれるので、特定の場面では便利かもしれない

以上、Linuxでログインユーザーを一覧確認でした。

臨機応変に使い分ければいいと思います。