温馨提示×

如何在Linux查看系统日志

小樊
91
2026-08-02 06:02:54
栏目: 智能运维

在 Linux 中查看系统日志的方法取决于你使用的发行版和日志系统(传统 syslog 或现代 systemd-journald)。下面按常用场景整理说明。


一、使用 journalctl(推荐,systemd 系统)

大多数现代 Linux(CentOS 7+、Ubuntu 16.04+、Debian 8+)都使用 systemd,日志由 journald 管理。

1️⃣ 查看所有系统日志

journalctl
  • 按 Space 翻页,q 退出

2️⃣ 实时查看日志(类似 tail -f)

journalctl -f

3️⃣ 查看本次启动的日志

journalctl -b

4️⃣ 查看指定服务日志(非常常用)

journalctl -u nginx
journalctl -u docker
journalctl -u sshd

5️⃣ 按时间查看

journalctl --since "2025-01-01 09:00" --until "2025-01-01 12:00"

6️⃣ 查看指定优先级的日志

journalctl -p err

常见级别:

  • emerg
  • alert
  • crit
  • err
  • warning
  • notice
  • info
  • debug

二、使用 /var/log/ 中的日志文件(传统方式)

即使使用 systemd,很多程序仍会写日志到 /var/log/。

常见日志文件

/var/log/
├── messages      # 系统通用日志(CentOS/RHEL)
├── syslog        # 系统日志(Ubuntu/Debian)
├── dmesg         # 内核日志
├── secure        # 安全与登录日志(CentOS)
├── auth.log      # 认证日志(Ubuntu)
├── boot.log      # 启动日志
├── kern.log      # 内核日志

查看示例

cat /var/log/syslog
less /var/log/messages
tail -f /var/log/nginx/access.log

三、查看内核日志(硬件 / 驱动相关)

方法 1:dmesg

dmesg
dmesg | less
dmesg -T     # 显示可读时间

方法 2:journalctl 查看内核日志

journalctl -k

四、查看登录与安全问题日志

登录日志

last
lastlog

失败登录

journalctl -u sshd
# 或
grep "Failed password" /var/log/secure
grep "Failed password" /var/log/auth.log

五、快速定位问题(实用组合)

查看最近错误

journalctl -p err -b

查看某个时间段的错误

journalctl --since "10 minutes ago" -p err

搜索关键字

journalctl | grep -i error

六、不同发行版推荐方法

系统 推荐方式
CentOS 7+/RHEL 7+ journalctl
Ubuntu 16.04+ journalctl
Debian 8+ journalctl
老版本 Linux /var/log/messages

七、常见排错建议

  • 服务起不来 → journalctl -u 服务名
  • 开机异常 → journalctl -b
  • 硬件问题 → dmesg
  • 网络/SSH 问题 → journalctl -u sshd
  • 性能问题 → journalctl -p warning

如果你愿意,可以告诉我:

  • ✅ 你的 Linux 发行版
  • ✅ 具体想查的问题(如服务启动失败、网络、磁盘、登录)

我可以给你精确的一条命令直接定位问题。

0 踩