journalctl

    1. --system # 显示系统日志
    2. --user # 显示当前用户的用户日志
    3. -M --machine=CONTAINER # 在本地容器上操作
    4. -S --since=DATE # 显示不早于指定日期的条目
    5. -U --until=DATE # 显示不晚于指定日期的条目
    6. -c --cursor=CURSOR # 显示从指定光标开始的条目
    7. --after-cursor=CURSOR # 在指定光标后显示条目
    8. --show-cursor # 在所有条目之后打印光标
    9. -b --boot[=ID] # 显示当前启动或指定启动
    10. --list-boots # 显示有关已记录引导的简洁信息
    11. -k --dmesg # 显示当前启动的内核消息日志
    12. -u --unit=UNIT # 显示指定单元的日志
    13. -t --identifier=STRING # 显示具有指定系统日志标识符的条目
    14. -p --priority=RANGE # 显示具有指定优先级的条目
    15. -e --pager-end # 在pager中立即跳转到末尾
    16. -f --follow # 关注期刊
    17. -n --lines[=INTEGER] # 要显示的日志条目数
    18. -r --reverse # 首先显示最新的条目
    19. -o --output=STRING # 更改日志输出模式 (short, short-iso,
    20. short-precise, short-monotonic, verbose,
    21. export, json, json-pretty, json-sse, cat)
    22. -x --catalog # 在可用的情况下添加消息说明
    23. --no-full # Ellipsize 字段
    24. -a --all # 显示所有字段,包括长的和不可打印的
    25. -q --quiet # 不显示特权警告
    26. --no-pager # 不要将输出通过管道传输到寻呼机
    27. -m --merge # 显示所有可用期刊的条目
    28. -D --directory=PATH # 显示目录中的日志文件
    29. --file=PATH # 显示日志文件
    30. --root=ROOT # 对根目录下的目录文件进行操作
    31. --interval=TIME # 更改 FSS 密封键的时间间隔
    32. --verify-key=KEY # 指定FSS验证密钥
    33. --force # 使用 --setup-keys 覆盖 FSS 密钥对
    34. Commands:
    35. -h --help # 显示此帮助文本
    36. --version # 显示包版本
    37. --new-id128 # 生成新的 128 位 ID
    38. --disk-usage # 显示所有日志文件的总磁盘使用情况
    39. --vacuum-size=BYTES # 将磁盘使用量减少到指定大小以下
    40. --vacuum-time=TIME # 删除早于指定日期的日志文件
    41. --flush # 将所有日志数据从 /run 刷新到 /var
    42. --list-catalog # 显示目录中的所有消息 ID
    43. --dump-catalog # 在消息目录中显示条目
    44. --update-catalog # 更新消息目录数据库
    45. --setup-keys # 生成新的 FSS 密钥对
    46. --verify # 验证日志文件的一致性

    过滤输出

    journalctl 可以根据特定字段过滤输出。如果过滤的字段比较多,需要较长时间才能显示出来。

    示例:

    显示本次启动后的所有日志:

    1. journalctl -b

    不过,一般大家更关心的不是本次启动后的日志,而是上次启动时的(例如,刚刚系统崩溃了)。可以使用 -b 参数:

    • journalctl -b -0 显示本次启动的信息
    • journalctl -b -1 显示上次启动的信息
    • journalctl -b -2 显示上上次启动的信息 journalctl -b -2
    1. journalctl -p err..alert

    也可以使用数字, journalctl -p 3..1。如果使用单个 number/keyword,则 journalctl -p 3 - 还包括所有更高的优先级。

    显示从某个日期 ( 或时间 ) 开始的消息:

    显示从某个时间 ( 例如 20分钟前 ) 的消息:

    1. journalctl --since "20 min ago"

    显示最新信息

    1. journalctl -f

    显示特定程序的所有消息:

    1. journalctl /usr/lib/systemd/systemd

    显示指定单元的所有消息:

    1. journalctl -u man-db.service

    显示内核环缓存消息r:

    1. journalctl -k

    手动清理日志

    /var/log/journal 存放着日志, rm 应该能工作. 或者使用 journalctl,

    例如:

      清理最早两周前的日志.