journalctl -f 是最直接高效的实时日志查看命令,适用于 systemd 系统;支持按服务(-u)、优先级(-p)、进程 ID(_PID)等过滤,并兼容传统 syslog 的 tail -f 方式。

用 journalctl -f 最直接高效,适用于使用 systemd 的现代 Linux 发行版(如 Ubuntu 20.04+、CentOS 7+、Debian 10+ 等)。
实时查看所有服务日志(默认方式)
终端中运行:
-
journalctl -f:持续输出最新日志,类似
tail -f,按 Ctrl+C 退出 - journalctl -f -n 50:先显示最近 50 行,再持续追加新日志
- journalctl -f --since "2 minutes ago":只跟踪过去两分钟以来的新日志
按服务或单元过滤日志
避免信息过载,可聚焦特定服务:
- journalctl -u ssh.service -f:实时看 OpenSSH 服务日志
- journalctl -u nginx.service -f:追踪 Nginx 启动、错误和访问相关输出(需确保其日志由 journald 收集)
- journalctl -u docker.service -f:观察 Docker 守护进程动态
按优先级或字段精简输出
提升可读性与排查效率:
- journalctl -f -p err:只显示 error 及更严重级别(err、alert、crit、emerg)
- journalctl -f _PID=1234:追踪指定进程 ID 的日志(适合调试某个刚启动的进程)
- journalctl -f SYSLOG_IDENTIFIER=rsyslog:筛选 rsyslog 进程产生的日志(兼容传统 syslog 场景)
补充:兼容非 systemd 系统(如旧版 CentOS 6、部分嵌入式系统)
若系统使用传统 syslog(如 rsyslog 或 syslog-ng),日志通常写入文件:
- tail -f /var/log/messages:通用系统消息(RHEL/CentOS)
- tail -f /var/log/syslog:Debian/Ubuntu 主要日志文件
- tail -f /var/log/auth.log:专注登录、sudo、SSH 认证事件


















