journalctl命令可以用来查询 systemd-journald.service(8) 所写的 systemd(1) 日志的内容。如果调用时没有参数,则会显示日志的全部内容,从收集到的最早的条目开始。
**语法格式:** journalctl [参数]
**常用参数:**
| -a | 完整显示所有字段内容,即使其中包含非打印字符或者字段内容超长 |
| ---- | -------------------------------------------------------------- |
| -f | 只显示最新的日志项, 并且不断显示新生成的日志项 |
| -n | 限制显示最新的日志行数 |
| -e | 在分页工具内 立即跳转到日志的尾部 |
| -o | 控制日志的 输出格式 |
**参考实例**
不带任何选项与参数, 表示显示全部日志:
```
[root@anycode ~]# journalctl
```
仅指定一个匹配条件, 显示所有符合该匹配条件的日志:
```
[root@anycode ~]# journalctl _SYSTEMD_UNIT=avahi-daemon.service
```
指定了两个不同字段的匹配条件, 显示同时满足两个匹配条件的日志:
```
[root@anycode ~]# journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097
```
指定了同一个字段的两个不同匹配条件, 显示满足其中任意一个条件的日志:
```
[root@anycode ~]# journalctl _SYSTEMD_UNIT=avahi-daemon.service _SYSTEMD_UNIT=dbus.service
```
使用 “+” 连接 两组匹配条件, 相当于 逻辑”OR”连接:
```
[root@anycode ~]# journalctl _SYSTEMD_UNIT=avahi-daemon.service _PID=28097 + _SYSTEMD_UNIT=dbus.service
```
显示所有 D-Bus 进程产生的日志:
```
[root@anycode ~]# journalctl /usr/bin/dbus-daemon
```
显示上一次启动所产生的所有内核日志:
```
[root@anycode ~]# journalctl -k -b -1
```
持续显示 apache.service 服务不断生成的日志:
```
[root@anycode ~]# journalctl -f -u apache
```