Linuxサーバーを管理する上で、現在どのユーザーがログインしているのか、またそのユーザーがどのような作業を行っているのかを確認することは、セキュリティ管理やトラブルシューティングにおいて非常に重要です。
そのような情報を簡単に取得できる便利なコマンドが「w
」です。
このコマンドを使えば、ログインしているユーザーの情報だけでなく、稼働時間や実行中のプロセスといった詳細情報までも確認できます。
本記事では、w
コマンドの使い方や表示される項目の意味、実用的な活用方法について詳しく解説します。初心者の方でも分かるよう、丁寧に説明していますのでぜひ参考にしてください。
wコマンドとは何か?
w
コマンドは、LinuxおよびUNIX系のOSで利用できる、ログイン中のユーザーとそのアクティビティを一覧表示するコマンドです。
以下のような情報を一度に確認できます:
- 現在ログインしているユーザー名
- ログインしている端末(TTY)
- リモートホストの情報
- ログインしてからの経過時間
- 現在のアクティビティ(実行中のコマンド)
- システムの稼働時間(uptime)と平均負荷(load average)
例えば、以下のような出力結果になります。
$ w
11:21:39 up 2:35, 3 users, load average: 0.01, 0.05, 0.08
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
alice pts/0 192.168.1.10 09:00 1:20 0:01 0:00 bash
bob pts/1 - 09:30 0:00 0:02 0:01 vim config.txt
charlie pts/2 192.168.1.15 10:45 0:10 0:03 0:02 top
このように、システムの利用状況をリアルタイムで把握するのに非常に役立つツールです。
wコマンドの基本的な構文
構文は非常にシンプルで、基本的にはコマンドをそのまま入力するだけでOKです。
w [オプション] [ユーザー名]
オプションを使わずに実行すると、全ユーザーの情報が表示されます。
特定のユーザーを指定することも可能で、そのユーザーのセッションだけを確認できます。
wコマンドの出力内容の意味
出力される情報の各列には、それぞれ意味があります。以下に詳しく解説します。
- USER
ログインしているユーザー名です。 - TTY
ログインしている端末名。pts/X
は仮想端末、ttyX
は物理端末を意味します。 - FROM
接続元のホスト名またはIPアドレスです。ローカルからの接続であれば「-」が表示されます。 - LOGIN@
ログインした時刻です。 - IDLE
その端末が操作されずにアイドル状態となっている時間です。 - JCPU
端末全体で使用されたCPU時間。w
コマンドやtop
なども含め、ログインセッション中のCPU使用時間の合計です。 - PCPU
現在実行中のプロセスによるCPU使用時間です。 - WHAT
現在そのユーザーが実行中のコマンドを表示します。
このように、単にログインユーザーを確認するだけでなく、何をしているかまで把握できるのがw
の魅力です。
オプションの紹介
w
コマンドにはいくつかの便利なオプションがあります。代表的なものを紹介します。
-h
ヘッダー行(load averageなど)を表示しないようにします。 bashコピーする編集するw -h
-s
出力を簡略表示にします(JCPU
やPCPU
を省略)。 bashコピーする編集するw -s
-f
FROM欄の表示を有効化します(ディストリビューションによっては無効になっている場合があります)。 bashコピーする編集するw -f
これらを組み合わせて、自分の目的に応じた表示形式に調整することが可能です。
wコマンドの実用例
1. サーバーメンテナンス前の確認
サーバーの再起動やメンテナンスを行う前に、他のユーザーが作業していないかを確認するのに使えます。
w
ログインユーザーがいなければ安心して作業に入れます。
2. 不審なアクセスの確認
FROM欄でリモートホストのIPアドレスが分かるので、見慣れないIPからのアクセスがあれば調査のきっかけになります。
3. サーバーの重さの原因調査
load averageが高いときに、どのユーザーが重い処理をしているかをWHAT列で確認し、原因の特定につなげられます。
他コマンドとの違い・使い分け
w
コマンドと似たような情報を表示するコマンドには以下のものがあります。
who
:ログインユーザー情報のみ(簡易版)users
:ログインユーザー名だけを列挙uptime
:システム稼働時間と負荷情報のみtop
やhtop
:プロセスごとの詳細情報
それぞれのコマンドには特徴があり、目的に応じて使い分けることが大切です。w
は「誰が」「いつから」「どこから」「何をしているか」という総合的な情報を一発で確認したいときに最適です。
まとめ:wコマンドでシステムを見守ろう
w
コマンドは、Linuxの基本的な管理コマンドの一つとして非常に有用です。
特に、サーバー管理者やシステムエンジニアにとっては、ログイン中のユーザーやその活動状況をすぐに把握できるため、トラブル対応やセキュリティ管理の初動に欠かせない存在です。
ポイントをおさらいすると以下の通りです:
- ログイン中のユーザー情報と活動状況を一目で確認できる
- シンプルな構文で直感的に使える
- FROM欄やWHAT列で、不正アクセスや重いプロセスの特定に役立つ
- オプションで出力の見やすさも調整可能
日々の運用やトラブル対応において、w
コマンドを味方につけておくことで、状況把握がスピーディかつ正確に行えます。まだ使ったことがない方は、ぜひ一度試してみてください。