首頁·終端機命令

journalctl

行程與系統

用法

journalctl -u <unit> [-f]

讀取 systemd 以二進位格式收集的日誌;沒有 /var/log/journal 時日誌一重開機就沒了,而 `-u` 要寫單元的準確名稱。

常用選項

選項含義
-u <unit>Only one unit. The name must match exactly.
-fFollow new lines as they arrive, like tail -f.
-n 100The last 100 lines instead of the whole journal.
--since "1 hour ago"Limit by time; --until does the other end.
-p errOnly this priority and worse (emerg, alert, crit, err, warning...).
-b / -b -1This boot only / the previous boot.
-kKernel messages only.
--no-pagerPrint straight to stdout so you can pipe it.

範例

journalctl -u nginx -n 50 --no-pager

The last fifty lines from one service.

journalctl -fu myapp

Watch a service live while you reproduce a bug.

journalctl --since "10 min ago" -p err

Only recent errors, from every unit.

看什麼在跑、什麼在吃機器。先弄清是什麼,再決定殺不殺。

怎麼看

  • 方括號 [ ] 表示這部分可以不寫。
  • 省略號 … 表示可以寫多個。
  • 選項區分大小寫——有些命令裡 -r 和 -R 不是一回事。

常見問題

Q. journalctl 是做什麼的?

讀取 systemd 以二進位格式收集的日誌;沒有 /var/log/journal 時日誌一重開機就沒了,而 `-u` 要寫單元的準確名稱。

Q. 怎麼寫?

journalctl -u <unit> [-f] —— 方括號表示可以省略的部分。

Q. 值得記的選項有幾個?

這裡列了 8 個,完整列表在 man journalctl。這條命令屬於行程與系統。

相關命令

man 手冊: man journalctl