掌握Ubuntu日志管理利器(详解journalctl命令与systemd日志查看技巧)

来源:这里教程网 时间:2026-03-28 22:57:33 作者:

在使用Ubuntu或其它基于systemd的Linux发行版时,系统日志是排查问题、监控服务状态的重要工具。而journalctl命令正是查看和管理系统日志的核心工具。本文将手把手教你如何使用

journalctl
命令高效地查看、过滤和分析
systemd日志
,即使你是Linux新手也能轻松上手。

什么是systemd日志?

自Ubuntu 15.04起,系统默认采用

systemd
作为初始化系统(init system),它不仅负责启动和管理服务,还集成了一个强大的日志系统——
journald
。该系统会自动收集内核消息、系统服务日志、用户进程日志等,并统一存储在二进制格式的日志文件中(通常位于
/var/log/journal/
目录下)。

与传统的文本日志(如

/var/log/syslog
)不同,
systemd日志
具有结构化、可压缩、支持元数据等优势,且可通过
journalctl
命令灵活查询。

基础用法:快速查看日志

最简单的用法就是直接运行:

journalctl

这会显示从系统启动以来的所有日志,按时间顺序排列。由于日志可能非常多,建议结合分页器使用(默认已启用

less
)。

常用选项与实战技巧

1. 查看本次启动的日志

只显示当前系统启动后的日志:

journalctl -b

2. 实时跟踪日志(类似tail -f)

动态显示新产生的日志:

journalctl -f

3. 查看特定服务的日志

例如查看SSH服务的日志:

journalctl -u ssh

其中

-u
表示指定unit(服务单元)。

4. 按时间范围过滤日志

查看今天日志:

journalctl --since today

查看最近1小时日志:

journalctl --since "1 hour ago"

支持的时间格式非常灵活,如

yesterday
2024-06-01
2024-06-01 10:00:00
等。

5. 查看内核日志

只显示来自内核的消息:

journalctl -k

高级技巧:组合使用与日志持久化

你可以组合多个选项。例如,查看SSH服务在过去24小时内的日志:

journalctl -u ssh --since "24 hours ago"

默认情况下,

systemd
日志是易失的(重启后可能丢失)。若希望日志持久保存到磁盘,需创建日志目录并重启
systemd-journald
服务:

sudo mkdir -p /var/log/journalsudo systemd-tmpfiles --create --prefix /var/log/journalsudo systemctl restart systemd-journald

小结

通过本文,你已经掌握了

Ubuntu journalctl命令
的基本与进阶用法,能够高效地进行
Linux系统日志管理
journalctl日志分析
。无论是排查服务故障、监控系统行为,还是审计安全事件,
systemd日志查看
都是不可或缺的技能。

建议多加练习,尝试不同的过滤条件,你会发现

journalctl
远比传统日志工具更强大、更智能!

相关推荐

热文推荐