カテゴリ: Linux 更新日: 2026/03/26

whoコマンドの使い方を完全ガイド!Linuxでログイン中のユーザーを確認する方法

Linuxでログイン中のユーザーを確認する方法(whoコマンド)
Linuxでログイン中のユーザーを確認する方法(whoコマンド)

先生と生徒の会話形式で理解しよう

生徒

「Linuxで今誰がログインしているか確認する方法ってありますか?」

先生

「ありますよ。Linuxではwhoコマンドを使うことで、現在ログインしているユーザーを簡単に確認できます。」

生徒

「それって難しくないですか?パソコン初心者でも使えますか?」

先生

「全く難しくありません。whoと入力するだけで使えます。詳しく説明していきますね。」

1. whoコマンドとは?

1. whoコマンドとは?
1. whoコマンドとは?

whoコマンドは、Linuxシステムに現在ログインしているユーザーの情報を表示する基本的なコマンドです。複数のユーザーが同時にログインできるLinuxの特性上、誰がシステムを使っているのかを確認することは重要な管理作業の一つとなります。

たとえば、あなたが会社や学校で共有しているLinuxサーバーにアクセスしたとき、「今、他に誰かログインしているかな?」と知りたくなることがあるでしょう。そんなときに使うのがwhoコマンドです。WindowsやMacと違い、Linuxではターミナル(黒い画面)で文字を入力してコマンドを実行します。最初は慣れないかもしれませんが、とてもシンプルで便利なコマンドです。

2. whoコマンドの基本的な使い方

2. whoコマンドの基本的な使い方
2. whoコマンドの基本的な使い方

whoコマンドの基本的な使い方は非常にシンプルです。ターミナルを開いて、whoと入力してエンターキーを押すだけです。


who
tanaka   pts/0        2026-01-09 10:15 (192.168.1.10)
suzuki   pts/1        2026-01-09 11:30 (192.168.1.20)

この結果から、tanakaさんとsuzukiさんの二人がログインしていることがわかります。それぞれの情報を詳しく見ていきましょう。

  • ユーザー名(tanaka、suzuki):ログインしているユーザーの名前です。
  • 端末名(pts/0、pts/1):どの端末からログインしているかを示します。ptsは「仮想端末」を意味し、リモート接続などで使われます。
  • ログイン日時(2026-01-09 10:15):いつログインしたかの日付と時刻です。
  • 接続元(192.168.1.10):どこからログインしているかのIPアドレスやホスト名です。

この情報を見れば、誰がいつどこからログインしているのかが一目でわかります。

3. whoコマンドの便利なオプション

3. whoコマンドの便利なオプション
3. whoコマンドの便利なオプション

whoコマンドには、より詳しい情報を表示したり、特定の情報だけを表示したりするためのオプションがあります。オプションとは、コマンドの後ろに付け加える「追加の指示」のことです。ハイフン(-)の後にアルファベットを書いて使います。

全ての情報を表示する(-aオプション)

-aオプションを使うと、通常は表示されない情報も含めて全ての情報を表示できます。


who -a
           system boot  2026-01-08 09:00
LOGIN      tty1         2026-01-08 09:01               580 id=tty1
tanaka   + pts/0        2026-01-09 10:15   .          1234 (192.168.1.10)

この表示では、システムの起動時刻やログインプロセスの詳細情報なども確認できます。システム管理者がトラブルシューティングを行う際に役立つ情報です。

見出しを付けて表示する(-Hオプション)

-Hオプション(大文字のH)を使うと、各列に見出しが表示されて見やすくなります。


who -H
NAME     LINE         TIME             COMMENT
tanaka   pts/0        2026-01-09 10:15 (192.168.1.10)
suzuki   pts/1        2026-01-09 11:30 (192.168.1.20)

初心者の方は、この-Hオプションを使うと、どの情報が何を意味しているのかがわかりやすくなるのでおすすめです。

ログイン中のユーザー数を表示する(-qオプション)

-qオプションを使うと、詳細情報ではなく、ユーザー名と合計人数だけを簡潔に表示します。


who -q
tanaka suzuki yamada
# users=3

「今何人ログインしているか」だけを素早く知りたいときに便利です。

4. 自分自身の情報だけを確認する方法

4. 自分自身の情報だけを確認する方法
4. 自分自身の情報だけを確認する方法

「他の人の情報はいらないから、自分のログイン情報だけを見たい」という場合は、who am iまたはwhoamiコマンドを使います。この二つは似ていますが、少し違います。


who am i
tanaka   pts/0        2026-01-09 10:15 (192.168.1.10)

who am iは、現在のログインセッション情報を表示します。一方、whoamiコマンドは実行ユーザーの名前だけを表示します。


whoami
tanaka

whoamiは「私は誰?」という意味で、ユーザー名だけをシンプルに確認したいときに使います。スクリプト(自動化プログラム)の中で現在のユーザー名を取得する際にもよく使われます。

5. whoコマンドとwコマンドの違い

5. whoコマンドとwコマンドの違い
5. whoコマンドとwコマンドの違い

Linuxにはwhoと似た機能を持つwコマンドというものもあります。この二つの違いを理解しておくと、状況に応じて使い分けられるようになります。

wコマンドは、ログインユーザーの情報に加えて、「各ユーザーが今何をしているか(実行中のコマンド)」も表示します。より詳しい情報が必要なときはwコマンドが便利です。

コマンド 表示内容 用途
who ログインユーザーの基本情報 誰がログインしているか確認したいとき
w ログインユーザー情報+実行中のコマンド 各ユーザーの作業内容も知りたいとき
whoami 自分のユーザー名のみ 現在のユーザー名だけ確認したいとき

システム管理者として他のユーザーの動きを監視したい場合はwコマンドが適していますが、単純に「誰がログインしているか」を知りたいだけならwhoコマンドで十分です。

6. whoコマンドの実践的な活用例

6. whoコマンドの実践的な活用例
6. whoコマンドの実践的な活用例

ここでは、実際の業務や学習でよく使われるwhoコマンドの活用例をいくつか紹介します。

セキュリティチェック

サーバー管理者は定期的にwhoコマンドを実行して、不正なログインがないかチェックします。見覚えのないユーザーや、通常と異なる時間帯のログインがあれば、セキュリティ上の問題がある可能性があります。

システムメンテナンス前の確認

サーバーの再起動やメンテナンス作業を行う前に、whoコマンドで他のユーザーがログインしていないか確認します。他のユーザーが作業中にシステムを停止してしまうと、データの損失や作業の中断を引き起こす可能性があるからです。

ログイン履歴の記録

whoコマンドの出力をファイルに保存しておくことで、ログイン履歴として記録できます。シェルのリダイレクション機能(>記号)を使います。


who >> login_history.txt

このコマンドは、whoの実行結果をlogin_history.txtというファイルに追記します。定期的に実行すれば、誰がいつログインしたかの記録が残ります。

7. whoコマンドが表示する端末の種類

7. whoコマンドが表示する端末の種類
7. whoコマンドが表示する端末の種類

whoコマンドの出力に表示される端末名(LINE列)には、いくつかの種類があります。これらを理解すると、ユーザーがどのような方法でログインしているかがわかります。

  • console:物理的なコンソール(サーバー本体に直接接続されたキーボードとモニター)からのログインです。
  • tty:物理的な端末や仮想コンソールからのログインです。tty1tty2のように番号が付きます。
  • pts:疑似端末(Pseudo Terminal Slave)の略で、SSH接続などのリモートログインや、GUI環境でターミナルアプリを開いたときに使われます。

最近のLinux環境では、リモート接続が主流なため、ptsが最もよく見られる端末タイプです。たとえば、自宅のパソコンからSSHでサーバーに接続した場合、pts/0pts/1といった端末名が表示されます。

8. トラブルシューティング:whoコマンドで何も表示されない場合

8. トラブルシューティング:whoコマンドで何も表示されない場合
8. トラブルシューティング:whoコマンドで何も表示されない場合

whoコマンドを実行しても何も表示されない、または期待した結果が表示されない場合があります。その原因と対処法を説明します。

誰もログインしていない

最も単純な理由は、あなた以外に誰もログインしていない場合です。ただし、通常は自分自身のログイン情報は表示されるはずです。もし自分の情報も表示されない場合は、次の原因が考えられます。

utmpファイルの問題

whoコマンドは、/var/run/utmpというシステムファイルからログイン情報を読み取ります。このファイルが破損していたり、権限の問題で読み取れなかったりすると、正しい情報が表示されません。システム管理者権限(root)で確認してみましょう。


ls -l /var/run/utmp
-rw-rw-r-- 1 root utmp 1152 Jan  9 10:15 /var/run/utmp

このファイルが存在し、適切な権限が設定されているか確認します。問題がある場合は、システムの再起動で解決することもあります。

9. whoコマンドのオプション組み合わせ例

9. whoコマンドのオプション組み合わせ例
9. whoコマンドのオプション組み合わせ例

whoコマンドは複数のオプションを組み合わせて使うこともできます。ニーズに合わせて柔軟に使いこなしましょう。


who -H -u
NAME     LINE         TIME             IDLE          PID COMMENT
tanaka + pts/0        2026-01-09 10:15   .          1234 (192.168.1.10)
suzuki + pts/1        2026-01-09 11:30 00:05        2345 (192.168.1.20)

この例では、-H(見出し表示)と-u(アイドル時間とプロセスID表示)を組み合わせています。IDLE列は、そのユーザーが最後に操作してからどれくらい時間が経過しているかを示します。.は現在アクティブ(操作中)であることを意味し、00:05は五分間操作がないことを示します。

この情報は、システムメンテナンス前に「このユーザーは今作業しているのか、それとも放置されているのか」を判断するのに役立ちます。

10. lastコマンドとの違いと使い分け

10. lastコマンドとの違いと使い分け
10. lastコマンドとの違いと使い分け

ログイン情報を確認するコマンドとして、whoの他にlastというコマンドもあります。これらの違いを理解しておきましょう。

whoコマンドは「現在ログインしているユーザー」を表示しますが、lastコマンドは「過去のログイン履歴」を表示します。つまり、既にログアウトしたユーザーの情報も見ることができます。

たとえば、「昨日の夜中に誰かがログインしていなかったか」を調べたい場合は、lastコマンドを使います。一方、「今この瞬間に誰がシステムを使っているか」を知りたい場合はwhoコマンドを使います。

どちらのコマンドも、Linuxシステムの管理やセキュリティ監視において重要なツールです。状況に応じて適切なコマンドを選択できるようになると、より効率的にシステム管理ができるようになります。

カテゴリの一覧へ
新着記事
New1
AWS PrivateLink
AWS PrivateLinkとSecurity Group設定のポイントを徹底解説!初心者でもわかるセキュアなサービス接続
New2
ELB(ロードバランサー)
AWS ELBのセキュリティ設定(セキュリティグループ・WAF連携)を初心者向けに解説!
New3
ユーザー・グループ管理
whoコマンドの使い方を完全ガイド!Linuxでログイン中のユーザーを確認する方法
New4
AWS の セキュリティ対策
AWSのセキュリティグループとネットワークACLの違いと設定方法を初心者向けに徹底解説
人気記事
No.1
Java&Spring記事人気No1
S3(オブジェクトストレージ)
AWS S3の料金体系をわかりやすく解説
No.2
Java&Spring記事人気No2
AWS 基本
AWSの公式料金計算ツール(Pricing Calculator)の使い方
No.3
Java&Spring記事人気No3
Direct Connect(専用線接続)
AWS Direct Connectの申し込みから開通までの流れを初心者向けにやさしく解説
No.4
Java&Spring記事人気No4
S3(オブジェクトストレージ)
AWS S3のアクセスログを有効化する方法をやさしく解説!初心者でもできる設定手順
No.5
Java&Spring記事人気No5
RDS(データベース)
AWS RDSのスナップショットを手動で作成・復元する方法を初心者向けにやさしく解説!
No.6
Java&Spring記事人気No6
RDS(データベース)
AWS RDSのバージョンアップ・メジャーアップグレードのポイントを完全ガイド!初心者にもわかりやすく解説
No.7
Java&Spring記事人気No7
VPC(プライベートクラウド)
AWS VPCでNATゲートウェイを構成してプライベートサブネットから外部アクセスする方法を初心者向けに解説!
No.8
Java&Spring記事人気No8
AWS PrivateLink
AWS PrivateLink(プライベートリンク)の利用手順|セキュアなサービス接続を初心者向けに解説