插件窝 干货文章 linux查看日志的命令是什么

linux查看日志的命令是什么

log 日志 var error 321    来源:    2025-05-02

在 Linux 系统中查看日志的常用命令和技巧如下,根据场景选择合适的方法:


1. 基础查看命令

  • cat
    直接显示整个文件内容(适合小文件):

    cat /var/log/syslog
    
  • less / more
    分页查看日志(推荐 less,支持上下滚动):

    less /var/log/nginx/error.log
    
    • 操作:按 空格 翻页,/关键词 搜索,q 退出。
  • tail
    查看日志尾部(默认显示最后 10 行):

    tail /var/log/auth.log
    
    • 实时追踪新增日志(常用参数 -f):
    tail -f /var/log/apache2/access.log
    
    • 显示指定行数(如最后 100 行):
    tail -n 100 /var/log/syslog
    
  • head
    查看日志头部(默认前 10 行):

    head /var/log/kern.log
    

2. 高级过滤与分析

  • grep
    按关键词过滤日志(支持正则表达式):

    grep "error" /var/log/syslog
    
    • 忽略大小写:grep -i "error"
    • 显示上下文:grep -A 3 -B 2 "error"(显示匹配行前后 3/2 行)
  • journalctl
    查看 systemd 管理的服务日志(适用于现代 Linux 发行版):

    journalctl -u nginx.service      # 查看指定服务日志
    journalctl --since "2023-10-01"  # 按时间过滤
    journalctl -f                   # 实时追踪
    
  • awk / sed
    提取特定字段或格式化日志:

    awk '{print $1, $5}' /var/log/nginx/access.log  # 输出第1和第5列
    
  • multitail
    同时监控多个日志文件(需安装):

    multitail /var/log/nginx/access.log /var/log/nginx/error.log
    

3. 常见日志文件路径

日志类型 路径示例
系统日志 /var/log/syslog/var/log/messages
认证日志 /var/log/auth.log
内核日志 /var/log/kern.log
Apache/Nginx /var/log/apache2/error.log/var/log/nginx/error.log
MySQL /var/log/mysql/error.log
系统启动日志 /var/log/boot.log

4. 组合命令示例

  • 实时过滤包含 "error" 的日志:
    bash tail -f /var/log/syslog | grep -i "error"
  • 统计日志中错误出现的次数:
    bash grep -c "error" /var/log/syslog

5. 日志轮转管理

  • 使用 logrotate 配置日志自动切割和压缩:
    配置文件路径:/etc/logrotate.conf/etc/logrotate.d/

根据需求选择命令:快速查看用 tail/less,分析用 grep/awk,系统服务用 journalctl