このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Linux基礎:システムの状態を確認するコマンド
このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

システムの状態を確認するコマンド
Linux システムを運用する上で、システムの状態を確認すること は極めて重要です。システムの状態を把握することで、リソースの使用状況を管理したり、障害発生時に迅速に原因を突き止めたりすることができます。ログファイルを確認する方法もありますが、それ以外にも専用のコマンドを使うことでリアルタイムに情報を取得できます。
ここでは、代表的なシステム状態確認用のコマンドである dmesg, last, who, w を取り上げ、それぞれの役割や使用方法、出力例を Rocky Linux の環境で詳しく解説します。

1.システム起動メッセージの確認
1.1. dmesg コマンド
dmesg コマンドは、システム起動時やハードウェア関連の情報をカーネルリングバッファから表示します。起動直後の状態確認や、デバイスの認識状況を確認する際に利用します。
書式
dmesg [オプション]主なオプション
| オプション | 説明 |
|---|---|
| -T | 出力に人間が読みやすい形式の日時を表示 |
| -k | カーネル関連のメッセージのみを表示 |
| -l | 指定したログレベルのメッセージを表示 |
使用例
[user@rocky9 ~]$ dmesg | head
[ 0.000000] Linux version 5.14.0-570.39.1.el9_6.x86_64 (mockbuild@iad1-prod-build001.bld.equ.rockylinux.org) (gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-5), GNU ld version 2.35.2-63.el9) #1 SMP PREEMPT_DYNAMIC Sat Sep 6 20:23:03 UTC 2025
[ 0.000000] The list of certified hardware and cloud instances for Enterprise Linux 9 can be viewed at the Red Hat Ecosystem Catalog, https://catalog.redhat.com.
[ 0.000000] Command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-5.14.0-570.39.1.el9_6.x86_64 root=/dev/mapper/rl_vbox-root ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rl_vbox-swap rd.lvm.lv=rl_vbox/root rd.lvm.lv=rl_vbox/swap rhgb quiet
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
[ 0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007ffeffff] usable
[ 0.000000] BIOS-e820: [mem 0x000000007fff0000-0x000000007fffffff] ACPI data
[ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reservedこの出力から、カーネルのバージョンやメモリの認識状況を確認できます。
2.ユーザーのログイン履歴確認
2.1. last コマンド
last コマンドは、最近ログインしたユーザーの履歴を表示します。ユーザーがいつどこからログインしたかを調査するのに役立ちます。
書式
last [オプション]主なオプション
| オプション | 説明 |
|---|---|
| -n [数] | 表示件数を指定 |
| -R | ホスト名の表示を抑制 |
| -f ファイル | wtmp 以外のログファイルを指定して参照 |
使用例
[user@rocky9 ~]$ last | head
user tty2 tty2 Sun Sep 14 08:46 still logged in
user seat0 login screen Sun Sep 14 08:46 still logged in
reboot system boot 5.14.0-570.39.1. Sun Sep 14 08:45 still running
tanaka pts/1 10.0.2.15 Sun Sep 14 01:17 - 01:18 (00:00)
user tty2 tty2 Sun Sep 14 01:16 - crash (07:28)
user seat0 login screen Sun Sep 14 01:16 - crash (07:28)
reboot system boot 5.14.0-570.39.1. Sun Sep 14 01:16 still running
reboot system boot 5.14.0-570.37.1. Sun Sep 14 00:21 - 00:24 (00:02)
user tty2 tty2 Fri Sep 12 22:04 - down (1+02:16)
user seat0 login screen Fri Sep 12 22:04 - down (1+02:16)この出力では、userとtanaka がどの端末からいつログインしたかが分かります。
3.現在のログインユーザーを確認
3.1. who コマンド
who コマンドは、現在ログインしているユーザーを表示します。ログインしている端末やログイン時刻も併せて確認できます。
書式
who [オプション]主なオプション
| オプション | 説明 |
|---|---|
| -u | 各ユーザーのアイドル時間を表示 |
| -q | ログイン中のユーザー数を表示 |
使用例
[user@rocky9 ~]$ who
user seat0 2025-09-14 08:46 (login screen)
user tty2 2025-09-14 08:46 (tty2)ここでは、ユーザー user が物理端末 (tty2)でログインしていることが確認できます。
4.ログインユーザーとシステム情報を同時に確認
4.1. w コマンド
w コマンドは、ログイン中のユーザーとそのユーザーが実行中のコマンド、さらにシステムの稼働状況を表示します。who コマンドよりも詳細な情報が得られるのが特徴です。
書式
w [オプション]主なオプション
| オプション | 説明 |
|---|---|
| -h | ヘッダ行を表示しない。 |
| -s | 簡潔な出力を表示 |
| -f | リモートホスト名の表示を有効化/無効化 |
使用例
[user@rocky9 ~]$ w
10:51:55 up 2:06, 2 users, load average: 0.00, 0.01, 0.00
USER TTY LOGIN@ IDLE JCPU PCPU WHAT
user seat0 08:46 0.00s 0.00s 0.00s /usr/libexec/gdm-wayland-sessi
user tty2 08:46 2:06m 0.02s 0.02s /usr/libexec/gnome-session-binこの出力から、システムの稼働時間、負荷状況、ユーザーごとの操作内容を確認できます。
まとめ
- dmesg: システム起動メッセージやハードウェア認識情報を確認する。
- last: 過去のログイン履歴を調査できる。
- who: 現在ログインしているユーザーを確認できる。
- w: ログイン中のユーザー情報に加え、システム全体の状態も表示できる。
これらのコマンドを活用することで、システムの正常性やユーザーの操作状況を効率的に把握できます。日常的な運用監視やトラブルシューティングの際に積極的に利用しましょう。
