在 Linux 中,查看日志通常依赖 命令行工具 和 日志文件位置。下面按「常用命令 → 常见日志位置 → 实用技巧」给你一个清晰速查。
cat —— 一次性查看整个日志cat /var/log/messages
⚠️ 日志大时不推荐
tail —— 查看最新日志(最常用)tail -n 100 /var/log/syslog
实时跟踪日志(非常重要):
tail -f /var/log/syslog
less —— 分页查看(推荐)less /var/log/messages
常用操作:
空格 下一页b 上一页/关键词 搜索q 退出grep —— 按关键字过滤grep "error" /var/log/syslog
结合 tail:
tail -f /var/log/syslog | grep "ssh"
journalctl(systemd 系统)现代 Linux(CentOS 7+、Ubuntu 16+)推荐:
查看所有日志:
journalctl
实时日志:
journalctl -f
只看某服务:
journalctl -u nginx
按时间:
journalctl --since "2024-01-01 00:00" --until "2024-01-02 00:00"
| 日志 | 说明 |
|---|---|
/var/log/messages |
通用系统日志(CentOS/RHEL) |
/var/log/syslog |
系统日志(Ubuntu/Debian) |
/var/log/dmesg |
内核启动信息 |
| 服务 | 路径 |
|---|---|
| Nginx | /var/log/nginx/access.log/var/log/nginx/error.log |
| Apache | /var/log/httpd/ |
| MySQL | /var/log/mysqld.log 或 /var/log/mysql/ |
| SSH | /var/log/secure 或 /var/log/auth.log |
grep "192.168.1.1" /var/log/nginx/access.log
grep -c "error" /var/log/syslog
journalctl --since "1 hour ago"
tail -fjournalctl -u 服务名grep + less如果你告诉我:
我可以直接给你一条最合适命令。