w – ログイン中ユーザーと稼働状況を表示する

ログ取得
スポンサーリンク

w は、現在ログインしているユーザーと各端末(TTY)の稼働状況を一覧表示するコマンドです。
CPU使用時間(JCPU/PCPU)やアイドル時間、実行中コマンド(WHAT)を確認できます。
実務では「誰がどこから接続して何をしているか」を素早く把握するのに使います。

構文(Syntax)

w [OPTION...] [USER]
  • USER を指定すると、そのユーザーに絞って表示します。
  • 典型的な列: USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

主なオプション一覧

オプション説明使用例
-h, --no-header先頭のヘッダ行を表示しないw -h
-s, --short簡易表示(時間などを短縮表記)w -s
-f, --fromFROM(接続元)列の表示/非表示を切り替え(実装により既定は表示)w -f
-i, --ip-addrFROM をホスト名ではなく IP アドレスで表示w -i
-u, --no-current現在プロセスの CPU 時間算出でユーザー名を無視(負荷見積りの挙動が変化)w -u
-V, --versionバージョン表示w -V
--helpヘルプ表示w --help

仕様は実装(procps-ng、BSD、BusyBox など)で多少異なります。必要な表示が出ない場合は w --helpman w を確認してください。

実行例

基本:ログイン中ユーザーと実行中コマンドを確認

説明: 現在のログイン状況を一覧表示します。
コマンド:

w

出力例(例):

 12:34:56 up 10 days,  3:21,  3 users,  load average: 0.22, 0.18, 0.10
USER     TTY      FROM         LOGIN@   IDLE   JCPU   PCPU WHAT
alice    pts/0    203.0.113.5  09:10    1:02   0.08s  0.03s sshd: alice@pts/0
bob      pts/1    :0           10:02       -   0.10s  0.01s top
root     pts/2    192.0.2.10   11:59    0.00s  0.02s  0.02s bash

ヘッダなし・簡易表示でスクリプト向けに出力

説明: 見出しを消して短い形式で表示します。
コマンド:

w -hs

特定ユーザーだけを表示

説明: ユーザー alice のセッションだけ確認します。
コマンド:

w alice

接続元をIPアドレスで確認

説明: FROM を名前解決せず IP で表示します。
コマンド:

w -i

エラー例:存在しないオプションを指定

説明: 不正なオプションはエラーになります。
コマンド:

w -z

出力例(例):

w: invalid option -- 'z'
Try 'w --help' for more information.

関連コマンド

  • who : ログイン中のユーザーを表示(より簡素)。
  • users : ログインユーザー名をスペース区切りで表示。
  • last : 過去のログイン履歴を表示(/var/log/wtmp を参照)。
  • top / uptime : 負荷や稼働時間などのサマリ表示。
  • ps : 実行中プロセスの詳細を表示。

備考

  • 実装差分:
    • Linux(procps-ng)の w は上記オプションを概ねサポート。BSD/macOS の w は列やフラグが一部異なります。
    • BusyBox 版はオプションが限定的です。
  • データソース: ログイン情報は通常 /var/run/utmp、プロセス情報は /proc から取得します。コンテナなど utmp が無い環境では「ログインユーザーが表示されない」ことがあります。
  • 権限: 実行に sudo は不要ですが、他ユーザーのコマンド行(WHAT)がポリシーにより短縮/非表示になる環境もあります。
  • 列の意味(代表的):
    • IDLE: 端末での無操作時間、JCPU: その端末で動いた全プロセスのCPU時間、PCPU: 表示中コマンドのCPU時間。

参考

スポンサーリンク
Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント