插件窝 干货文章 linux查看日志的三种命令

linux查看日志的三种命令

日志 查看 log journalctl 954    来源:    2025-05-02

在Linux系统中查看日志是系统管理和故障排查的重要操作,以下是三种最常用的日志查看命令及其典型应用场景:


1. tail - 查看日志尾部(实时监控)

tail -n 20 /var/log/syslog      # 查看文件末尾20行
tail -f /var/log/nginx/access.log  # 实时追踪日志更新(Ctrl+C退出)

特点: - 默认显示最后10行,通过-n指定行数。 - -f(follow)参数可实时监控日志追加内容,适合调试服务。 - 结合grep过滤关键信息:
bash tail -f /var/log/syslog | grep "error"


2. less - 交互式分页查看

less /var/log/auth.log          # 分页查看日志(支持搜索/翻页)

操作快捷键: - /keyword:向前搜索关键词(按n跳转到下一个匹配) - ?keyword:向后搜索 - 空格:向下翻页,b向上翻页 - G:跳转到文件末尾,gg回到开头 - q:退出

优势: - 适合大文件快速定位,避免cat一次性加载的卡顿问题。


3. journalctl - 查看systemd日志(现代Linux系统)

journalctl -u nginx.service     # 查看指定服务的日志
journalctl -f                   # 实时滚动日志(类似tail -f)
journalctl --since "2023-10-01" --until "1 hour ago"  # 时间范围筛选

关键参数: - -u:按服务单元过滤 - -p err:按日志级别(如err、warning) - --disk-usage:查看日志占用的磁盘空间


其他实用组合命令:

  • 按时间筛选
    bash sed -n '/Oct 10 09:00:00/,/Oct 10 10:00:00/p' /var/log/syslog
  • 统计错误出现次数
    bash grep -c "ERROR" /var/log/app.log
  • 多文件联合查看
    bash cat /var/log/*.log | grep "pattern"

选择建议: - 实时监控用 tail -f + grep
- 历史日志分析用 less + 搜索
- systemd服务日志用 journalctl
- 超大日志文件考虑先用 grep/awk 过滤再查看