当前位置: 首页 > news >正文

linux如何用关键字搜索日志

在 Linux 系统中搜索日志是日常运维的重要工作,以下是几种常用的关键字搜索日志方法:

1. 基础 grep 搜索

bash

复制

# 基本搜索(区分大小写)
grep "keyword" /var/log/syslog# 忽略大小写搜索
grep -i "error" /var/log/syslog# 显示匹配行及前后5行内容
grep -A 5 -B 5 "error" /var/log/syslog
# 或简写为(显示前后各5行)
grep -C 5 "error" /var/log/syslog# 显示匹配行的行号
grep -n "error" /var/log/syslog

2. 高级 grep 用法

bash

复制

# 正则表达式搜索
grep -E "error|fail|critical" /var/log/syslog# 反向搜索(显示不包含关键字的行)
grep -v "success" /var/log/syslog# 统计匹配次数
grep -c "error" /var/log/syslog# 只显示匹配的部分(而非整行)
grep -o "error=[0-9]*" /var/log/syslog

3. 实时日志监控

bash

复制

# 实时跟踪日志并过滤
tail -f /var/log/nginx/access.log | grep "404"# 多文件实时监控(需要安装multitail)
multitail -e "error" /var/log/syslog /var/log/nginx/error.log

4. 搜索压缩日志

bash

复制

# 搜索.gz压缩文件
zgrep "error" /var/log/syslog.2.gz# 搜索多个压缩文件
zcat /var/log/syslog.*.gz | grep "error"

5. 使用 journalctl(systemd系统)

bash

复制

# 基本搜索
journalctl -x | grep "error"# 按时间过滤
journalctl --since "2023-10-01" --until "2023-10-02" | grep "error"# 按服务/单元过滤
journalctl -u nginx.service | grep "error"# 实时监控
journalctl -f | grep "error"

6. 组合命令高级搜索

bash

复制

# 搜索多个关键字(OR条件)
grep -e "error" -e "fail" /var/log/syslog# 同时满足多个条件(AND条件)
grep "error" /var/log/syslog | grep "connection"# 搜索后排序并统计
grep "error" /var/log/syslog | cut -d' ' -f5 | sort | uniq -c | sort -nr# 查找最近修改的日志文件并搜索
find /var/log -type f -mtime -1 -exec grep -i "error" {} +

7. 常用日志文件路径

日志文件用途
/var/log/syslog通用系统日志
/var/log/messages系统消息(RHEL/CentOS)
/var/log/auth.log认证相关日志
/var/log/kern.log内核日志
/var/log/dmesg启动消息
/var/log/nginx/Nginx日志目录
/var/log/apache2/Apache日志目录
/var/log/mysql/MySQL日志目录

小技巧

  1. 使用 less 查看日志时可以按 / 然后输入关键字进行搜索

  2. 对于大文件,先用 head 或 tail 查看部分内容再搜索

  3. 使用 alias 创建常用搜索的快捷方式

  4. 考虑使用 logwatch 或 goaccess 等工具进行更专业的日志分析

根据你的具体需求选择合适的搜索方法,组合使用这些命令可以大大提高日志分析的效率。

相关文章:

  • 学习笔记十二——Rust 高阶函数彻底入门(超详细过程解析 + 每步数值追踪)
  • 【微信小程序】报错: http://127.0.0.1:7001 不在以下 request 合法域名列表中
  • 危化品安全员考试常见与注意事项
  • Python GUI 编程 | QPushButton 按钮控件详解 — 边框扁平化
  • virt-install和libguestfs工具常用虚拟机管理命令
  • Oracle REGEXP_SUBSTR
  • LINUX基石
  • 今日一记:五人分鱼与医院值班推理
  • 每日一题(小白)暴力娱乐篇30
  • 简单socket通信,回显 服务器程序与客户端程序之间的通信。
  • linux-vi和文件操作
  • Windows 图形显示驱动开发-WDDM 1.2功能—无显示器系统支持
  • CExercise_13_1排序算法_1插入排序
  • 了解一下Unity的RenderQueue
  • 【基于Servlet技术处理表单】
  • 目标检测:YOLOv11(Ultralytics)环境配置
  • Vue 3 的组合式 API-hooks
  • HTTPS协议原理
  • 软件包安装管理Gitlab
  • PyTorch 根据官网命令行无法安装 GPU 版本 解决办法
  • 从 “沪惠保” 到 “沪骑保”看普惠保险的 “上海样式”
  • 上海超万套保租房供应高校毕业生,各项目免押、打折等优惠频出
  • 滨江集团去年营收约691亿元,尚未结算的预收房款1253亿元
  • 人民日报:广东全力推动外贸稳量提质
  • 坤莹·帕塔玛·利斯达特拉任世界羽联主席
  • 金隅集团:今年拿地将选择核心热门地块,稳健审慎投资