插件窝 干货文章 linux怎么看log日志

linux怎么看log日志

日志 log var 查看 127    来源:    2025-04-06

在Linux系统中查看日志(log)有多种方法,主要取决于你要查看的日志类型和使用的工具。以下是常用的查看日志方法:


1. 系统日志位置

  • /var/log/ 目录是系统日志的主要存储位置,常见日志文件:
    • /var/log/messages:通用系统日志(RHEL/CentOS)
    • /var/log/syslog:通用系统日志(Debian/Ubuntu)
    • /var/log/auth.log:认证/安全相关日志
    • /var/log/kern.log:内核日志
    • /var/log/dmesg:内核启动日志(或通过 dmesg 命令查看)
    • /var/log/boot.log:系统启动日志
    • /var/log/cron:定时任务日志
    • /var/log/maillog/var/log/mail.log:邮件服务日志
    • /var/log/httpd//var/log/nginx/:Web服务器日志(如Apache/Nginx)

2. 查看日志的常用命令

(1) cat 直接查看

cat /var/log/syslog
  • 缺点:文件较大时内容会瞬间刷屏。

(2) lessmore 分页查看

less /var/log/syslog   # 支持上下翻页(按 `q` 退出)
more /var/log/syslog   # 仅支持向下翻页

(3) tail 查看尾部内容

tail -n 20 /var/log/syslog   # 查看最后20行
tail -f /var/log/syslog      # 实时跟踪日志更新(Ctrl+C 退出)

(4) grep 过滤关键字

grep "error" /var/log/syslog          # 搜索包含 "error" 的行
grep -i "fail" /var/log/auth.log      # 忽略大小写搜索
grep -A 3 -B 2 "panic" /var/log/dmesg # 显示匹配行的前后内容

(5) journalctl(Systemd系统日志)

如果系统使用 systemd,日志由 journald 管理:

journalctl -xe                   # 查看全部日志(带分页)
journalctl -u nginx.service      # 查看指定服务的日志
journalctl -f                    # 实时跟踪日志
journalctl --since "2024-01-01" --until "2024-01-02" # 按时间筛选

3. 日志轮转(Log Rotation)

  • 日志文件会被 logrotate 工具自动压缩和归档(如 syslog.1.gz)。
  • 查看归档日志: bash zcat /var/log/syslog.1.gz # 查看压缩日志 zgrep "error" /var/log/syslog.2.gz # 搜索压缩文件

4. 其他工具

  • dmesg:查看内核环形缓冲区日志(硬件/驱动相关): bash dmesg | grep "usb"
  • multitail:同时监控多个日志文件(需安装): bash multitail /var/log/syslog /var/log/auth.log
  • 图形化工具
    • gnome-logs(GNOME桌面环境)
    • kSystemLog(KDE桌面环境)

5. 常见问题排查技巧

  • 权限问题:普通用户可能无法读取某些日志,需加 sudo
  • 日志过大:用 grepawksed 过滤关键信息。
  • 服务特定日志:如MySQL、Docker等服务的日志可能在自定义路径(如 /var/lib/docker/containers/)。

根据你的具体需求选择合适的工具和日志文件即可!如果需要更具体的帮助,请说明日志类型(如系统、服务、应用)。