journalctlコマンドの使い方:systemdジャーナルログを閲覧する
journalctlは、systemdが集めたログ(ジャーナル)を閲覧するコマンドです。サービスの起動失敗、OSの起動時のエラー、特定の期間のログ確認など、トラブル調査の入り口になります。
journalctlのよく使う形
実務や学習で登場しやすい使い方を、そのまま入力できる形でまとめました。
| コマンド例 | 内容 |
|---|---|
journalctl -u nginx | 指定したサービス(ユニット)のログだけ表示 |
journalctl -f | 新しいログをリアルタイムに表示 |
journalctl -xe | 末尾のログを、補足説明つきで表示 |
journalctl --since "1 hour ago" | 1時間前以降のログを表示 |
journalctl --since "2026-01-01" --until "2026-01-02" | 期間を指定して表示 |
journalctl -p err | 優先度がエラー以上のログだけ表示 |
journalctl -b | 今回の起動以降のログを表示 |
journalctl -k | カーネルのメッセージ(dmesg相当)を表示 |
journalctlの主なオプション
| オプション | 意味 |
|---|---|
-f | リアルタイム表示 |
-u | サービス指定 |
--since・--until | 期間指定 |
-p | 優先度で絞り込み |
-b | 今回起動分のみ |
-k | カーネルログのみ |
journalctlの実行例と結果の読み方
user@linux-study:~$ journalctl -u nginx --since today
Jan 10 09:00:01 host nginx[1023]: start worker process
journalctl -u nginx --since todayで、nginxサービスに関するログのうち、今日分だけを絞り込んで表示しています。
練習用ターミナルでは、journalctlをブラウザ上で安全に試せます。
journalctlを使うときの注意点
ジャーナルが永続化されていない設定では、再起動するとログが消えます。再起動前のログを見たいときは、/var/log/journalの有無や、ログの保存設定を確認します。
-uと--since、-pを組み合わせると、「このサービスの、この時間帯の、エラーだけ」を絞り込めます。
journalctlに関するよくある質問
/var/log/messagesとどう違いますか?
従来のテキストログに対し、journalctlはsystemdがまとめて管理するバイナリ形式のログです。ディストリビューションによっては両方が使われています。
ログが多くて読みにくいときは?
| grepで絞り込む、--no-pagerでページャーを使わず出力する、-o short-isoで時刻を読みやすい形式にするなどの方法があります。
関連ページ
あわせて覚えたいコマンド:systemctl・tail・grep・dmesg
journalctlが登場する章:中級 第14章