journalctl 命令生成器
生成用于查询 systemd 日志的 journalctl 命令
开始使用 journalctl
## 什么是 journalctl?
`journalctl` 用于查询 systemd 日志——即系统及各项服务的集中式日志存储。这是读取服务日志、按单元、优先级、启动状态或时间范围进行筛选的标准方式。
## 使用方法
1. **筛选**:通过单元(`-u`)、优先级(`-p`)、启动状态(`-b`)或内核(`-k`)来缩小查询范围。 2. **时间范围**:使用 `--since` 和 `--until`,并搭配如 `today`、`yesterday` 或 `2026-06-25 09:00:00` 这样的数值。 3. **输出格式**:使用 `-f` 查看日志尾部内容,用 `-n` 限制显示行数,用 `-o` 设置输出格式。 4. **复制并运行**:将生成的命令复制到终端中执行。
常用选项
### `-u` 单元 显示来自特定 systemd 单元(服务)的消息,例如 `-u nginx` 或 `-u ssh.service`。
### `-p` 优先级 按 syslog 优先级 0–7 进行过滤(0 表示紧急,1 表示警告,2 表示严重,3 表示错误,4 表示提醒,5 表示通知,6 表示信息,7 表示调试)。使用 `-p 3` 可显示错误级别及以上的消息。
### `-b` 当前启动过程 显示当前启动过程中的消息。若需查看上一次启动的信息,可结合类似 `-b -1` 的索引使用。
### `-k` 内核 仅显示内核相关消息(相当于 `dmesg` 的功能)。
### `-n` 行数 显示最近的 N 行内容,例如 `-n 100`。
### `-f` 实时跟踪 在新消息到达时持续打印出来(类似 `tail -f` 的功能)。
### `-a` 显示全部 显示所有字段,包括那些通常会被截断的过长字段。
### `--no-pager` 关闭分页功能,以便将输出结果直接传递给其他命令或脚本。
### `--since` / `--until` 按时间进行过滤,例如 `--since today`、`--since "1 hour ago"` 或 `--since "2026-06-25 09:00:00"`。
### `-x` 目录 为大量日志消息添加说明性目录条目。
### `-r` 反向排序 按最新消息优先的顺序显示。
### `-o` 输出格式 更改输出格式:`cat`(仅显示消息)、`short`(默认格式)、`json`、`json-pretty` 等。
▶如何实时查看服务的日志?
▶如何仅显示某个服务的错误?
▶我该如何查看从今天早上开始的日志?
▶如何获取最新的100条记录,按最新顺序排列?
如果这个工具对你有帮助的话,请考虑请我喝杯咖啡。
请给我买杯咖啡吧。