journalctl 是 systemd 系统中的一个命令行工具,用于查看系统日志
查看所有日志
默认显示所有日志(从旧到新),可通过方向键或翻页键浏览:
journalctl
查看内核日志
过滤仅显示内核相关日志:
journalctl -k
按时间筛选
显示指定时间范围内的日志(支持YYYY-MM-DD HH:MM:SS
格式):
journalctl --since "2023-01-01 00:00:00" --until "2023-01-02 12:00:00"
按服务/单元筛选
查看特定服务的日志(如nginx
服务):
journalctl -u nginx.service
实时跟踪日志
实时显示最新日志(类似tail -f
):
journalctl -f
按优先级过滤
显示指定优先级的日志(如emerg
到error
级别):
journalctl -p emerg..err
优先级范围包括:emerg
(0), alert
(1), crit
(2), err
(3), warning
(4), notice
(5), info
(6), debug
(7)。
显示磁盘占用
查看日志占用的磁盘空间:
journalctl --disk-usage
清理日志
删除旧日志保留指定大小(如保留100MB):
journalctl --vacuum-size=100M
按日志字段过滤
根据特定字段过滤(如_UID
为用户ID):
journalctl _UID=1000
输出格式控制
以JSON格式输出日志(适合程序处理):
journalctl -o json
其他格式选项:short
, short-precise
, verbose
, export
, json-pretty
等。