在 Linux 中查看系统日志的方法取决于你使用的发行版和日志系统(传统 syslog 或现代 systemd-journald)。下面按常用场景整理说明。
journalctl(推荐,systemd 系统)大多数现代 Linux(CentOS 7+、Ubuntu 16.04+、Debian 8+)都使用 systemd,日志由 journald 管理。
journalctl
tail -f)journalctl -f
journalctl -b
journalctl -u nginx
journalctl -u docker
journalctl -u sshd
journalctl --since "2025-01-01 09:00" --until "2025-01-01 12:00"
journalctl -p err
常见级别:
emergalertcriterrwarningnoticeinfodebug/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
dmesgdmesg
dmesg | less
dmesg -T # 显示可读时间
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 -bdmesgjournalctl -u sshdjournalctl -p warning如果你愿意,可以告诉我:
我可以给你精确的一条命令直接定位问题。