返回列表 发布新帖
查看: 70|回复: 0

Linux查询日志的常用命令

发表于 2025-4-28 16:37:11 | 查看全部 |阅读模式

这里或许是互联网从业者的最后一片净土,随客社区期待您的加入!

您需要 登录 才可以下载或查看,没有账号?立即注册

×
在 Linux 系统中,查询和分析日志是系统管理的重要任务之一。以下是常用的日志查询命令和技巧:

1. 核心日志文件位置
  • /var/log/messages:通用系统日志(CentOS/RHEL)
  • /var/log/syslog:通用系统日志(Debian/Ubuntu)
  • /var/log/auth.log:认证相关日志(登录、sudo等)
  • /var/log/secure:安全相关日志(CentOS/RHEL)
  • /var/log/kern.log:内核日志
  • /var/log/dmesg:内核启动日志(也可用 dmesg 命令)
  • /var/log/nginx/、/var/log/apache2/:Web服务器日志
2. 基础查看命令
  • tail - 查看日志尾部内容,常用于实时监控日志更新。
  1. tail -f /var/log/syslog       # 实时跟踪日志更新(最常用)
  2. tail -n 100 /var/log/syslog   # 显示最后100行
复制代码
  • head - 查看日志头部
  1. head -n 50 /var/log/syslog    # 显示前50行
复制代码
  • cat - 查看完整日志(适合小文件)
  1. cat /var/log/syslog           # 一次性显示全部内容(慎用于大文件)
复制代码
  • less/more - 分页查看
  1. less /var/log/syslog          # 支持上下翻页、搜索(按 `/` 搜索,`q` 退出)
  2. more /var/log/syslog          # 基本分页查看
复制代码
3. 过滤与搜索
  • grep - 关键词过滤
  1. grep "error" /var/log/syslog           # 搜索包含 "error" 的行
  2. grep -i "timeout" /var/log/nginx/access.log  # 忽略大小写搜索
  3. grep -A 3 -B 2 "panic" /var/log/messages    # 显示匹配行及前后几行(-A后,-B前)
  4. grep -v "192.168.1.1" /var/log/nginx/access.log # 排除特定IP的日志
复制代码
  • awk - 按列提取
  1. awk '{print $1}' /var/log/nginx/access.log      # 提取第一列(如IP地址)
  2. awk '$9 == 500 {print $7}' /var/log/nginx/access.log  # 过滤HTTP状态码为500的请求路径
复制代码
4. 时间范围查询
  • sed - 按时间范围过滤
  1. sed -n '/Apr 10 10:00/,/Apr 10 11:00/p' /var/log/syslog  # 提取某时间段的日志
复制代码
  • journalctl - Systemd日志查询(适用于使用Systemd的系统)
  1. journalctl -u nginx.service      # 查看Nginx服务的日志
  2. journalctl --since "2023-04-01" --until "2023-04-02"
  3. journalctl -f                   # 实时跟踪日志(类似 `tail -f`)
  4. journalctl -p err -b            # 查看本次启动的所有错误日志
复制代码
5. 组合命令示例
  • 统计Nginx日志中访问量最高的IP
  1. awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -n 10
复制代码
  • 实时监控包含"error"的日志
  1. tail -f /var/log/syslog | grep -i "error"
复制代码
  • 查找过去1小时内修改过的日志文件
  1. find /var/log -type f -mmin -60 -name "*.log"
复制代码
6. 日志轮转与管理
  • logrotate:自动压缩和清理旧日志(配置文件在 /etc/logrotate.conf 和 /etc/logrotate.d/)。
  • zcat/zgrep:查看压缩后的日志:
  1. zcat /var/log/syslog.1.gz       # 查看压缩日志
  2. zgrep "error" /var/log/syslog.2.gz  # 搜索压缩日志中的关键词
复制代码



通过组合这些命令,可以高效地定位和分析日志中的问题,希望这些能对你有所帮助。



您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2001-2025 Suike Tech All Rights Reserved. 随客交流社区 (备案号:津ICP备19010126号) |Processed in 0.117906 second(s), 6 queries , Gzip On, MemCached On.
关灯 在本版发帖返回顶部
快速回复 返回顶部 返回列表