当前位置:首页>Linux>Linux 基础:journalctl 命令详解,一篇就够了

Linux 基础:journalctl 命令详解,一篇就够了

  • 2026-10-23 17:07:01
Linux 基础:journalctl 命令详解,一篇就够了

在 Linux 运维或日常排障中,“看日志”几乎是绕不开的话题。如果你还停留在 cat /var/log/messages、tail -f 这种传统方式,那么在使用systemd的系统上,你其实错过了一个更强大的工具——journalctl。

今天这篇文章,我们就来系统性地讲清楚:journalctl 是什么、能做什么、以及如何高效使用它。

一、journalctl 是什么?

journalctl 是 systemd 提供的日志查询工具,用来读取和管理systemd-journald收集的日志。
与传统文本日志不同,journald 的日志是结构化的二进制日志,不仅包含日志内容,还包含:
  • 时间戳
  • 服务名(Unit)
  • 进程 ID(PID)
  • 用户 ID(UID)
  • 优先级(日志级别)
这些信息让日志查询变得更加精准和高效。

二、最基本的用法

1. 查看所有日志

journalctl
这会显示系统自启动以来的全部日志,通常非常多,默认使用分页器(类似 less)。
如果你只想快速浏览最新日志:
journalctl -e
-e 会直接跳转到日志末尾。

2. 实时查看日志(非常常用)

journalctl -f
等价于 tail -f,适合在调试服务启动、程序运行时使用。

三、按时间筛选日志

这是 journalctl 最实用的功能之一。

1. 查看今天的日志

journalctl --since today

2. 查看某个时间段的日志

journalctl --since "2025-01-10 09:00:00" --until"2025-01-10 10:00:00"
你也可以使用相对时间:
journalctl --since "1 hour ago"journalctl --since yesterday

四、按服务(Unit)查看日志

在 systemd 系统中,服务 = Unit。

1. 查看某个服务的日志

journalctl -u nginx.service
如果你在排查服务启动失败,这是第一条应该敲的命令。

2. 实时查看某个服务日志

journalctl -u docker.service -f

五、按日志级别过滤

journalctl 支持标准 syslog 日志级别:
级别
含义
0
emerg
1
alert
2
crit
3
err
4
warning
5
notice
6
info
7
debug
只看错误及以上级别日志:
journalctl -p err
或者指定范围:
journalctl -p warning..err
在系统异常、服务崩溃时,这个用法非常高效。

六、查看本次启动的日志

系统重启后,日志往往会被“打断”,journalctl 可以按启动次数查看。

1. 查看启动记录

journalctl --list-boots
输出类似:
-1  9f3c...  Tue Jan  9 09:00:00
0  a8b2...  Wed Jan 10 08:30:00

2. 查看本次启动日志

journalctl -b

3. 查看上一次启动日志

journalctl -b -1
这在分析“重启前发生了什么”时非常关键。

七、让日志更“人类友好”

1. 精简输出

journalctl -o short-iso
常见输出格式还有:
  • short
  • short-precise
  • json
  • json-pretty
如果你要写脚本或做日志分析,json 格式非常有价值。

2. 限制输出行数

journalctl -n 50
只显示最近 50 行日志。

八、journalctl vs 传统日志

对比项
journalctl
传统日志
日志格式
结构化
纯文本
查询能力
强
弱
按服务过滤
原生支持
不方便
时间过滤
精准
依赖工具
学习成本
稍高
低
如果你的系统已经使用 systemd,学会 journalctl 几乎是必修课。

九、总结

如果只记住几条 journalctl 命令,我建议是这五个:
  • journalctl -f
  • journalctl -u 服务名
  • journalctl --since today
  • journalctl -p err
  • journalctl -b -1
掌握它们,你已经可以解决80% 的 Linux 日志排查问题。
如果你觉得这篇文章有用,欢迎点赞、收藏,我们下篇继续聊 Linux 基础。

最新文章

随机文章