このページで解説している内容は、以下の 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: ログイン中のユーザー情報に加え、システム全体の状態も表示できる。

 これらのコマンドを活用することで、システムの正常性やユーザーの操作状況を効率的に把握できます。日常的な運用監視やトラブルシューティングの際に積極的に利用しましょう。