在统信UOS系统中实时追踪日志变化,核心在于让终端自动滚动显示最新日志,避免反复手动刷新。下面几种方法简单实用,可以满足不同场景需求。

用 journalctl 实时跟踪 systemd 服务日志
这是最常用且最可靠的方式,适用于以 systemd 单元运行的服务,例如 ssh、nginx、lightdm 等。操作步骤如下:
第一步:打开终端,输入以下命令即可实时监控指定服务的最新日志,并持续跟踪新增内容:
sudo journalctl -u ssh.service -f
第二步:如需从本次系统启动开始全程跟踪,添加 -b 参数即可:
sudo journalctl -b -u dbus.service -f
第三步:若只想查看错误级别及更高级别的日志,减少无关信息刷屏:
sudo journalctl -u nginx.service -p err -f
几个注意事项:-f 参数必须位于命令末尾,否则可能报错;若提示“no entries”,表示该服务当前没有活跃日志输出,可先执行 systemctl start 启动服务后再试。
用 tail -f 实时查看传统文本日志文件
此方法适用于查看 /var/log/ 目录下的明文日志文件,如 messages、secure、boot.log 等,尤其在离线环境或 rsyslog 未启用时非常实用。
直接运行:
sudo tail -f /var/log/messages
如需同时监控多个文件(例如 messages 和 secure),可使用 -f 结合 -n0 参数,避免重复输出历史内容:
sudo tail -n0 -f /var/log/messages /var/log/secure
按 Ctrl+C 可随时中断跟踪,操作简单直接,输入命令回车即可。
用 dmesg -w 实时捕获内核新消息
当需要监控硬件驱动加载、USB 设备插拔、显卡初始化等底层事件时,dmesg -w 比 journalctl 更及时、更底层。执行命令:
sudo dmesg -w
该命令从内核环缓冲区当前偏移位置开始,持续输出后续新产生的内核消息。与 journalctl 不同,它不依赖 systemd 日志服务是否运行。
还可结合 grep 过滤关键词,聚焦关键事件:
sudo dmesg -w | grep -i "nvme|usb|fail"
【警告】dmesg -w 的输出不可回溯,一旦中断将丢失之前未显示的内容,务必在触发相关操作前启动该命令。
用 journalctl 查看图形界面登录过程的实时日志
当遇到 LightDM 或 GDM 登录界面卡顿、黑屏或反复返回登录页面时,需要实时捕获显示管理器的行为。运行命令:
sudo journalctl -u lightdm.service -f
若使用 Wayland 会话,则改为查询 gdm3:
sudo journalctl -u gdm3.service -f
为避免日志刷屏影响观察,建议配合 --since="1 minute ago" 限定起始时间:
sudo journalctl -u lightdm.service --since="1 minute ago" -f
