当前位置: 首页 > 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 等工具进行更专业的日志分析

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

http://www.dtcms.com/a/134487.html

相关文章:

  • 学习笔记十二——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 版本 解决办法
  • MyBatis 详解
  • ffmpeg命令(一):信息查询命令
  • 日志查询:使用 less 命令搜索关键字的方法
  • Spring Boot 中使用 Netty
  • .Net 9 webapi使用Docker部署到Linux
  • Quipus,LightRag的Go版本的实现
  • 猫咪如厕检测与分类识别系统系列【九】视频检测区域在线绘制+支持摄像头+网络摄像头+整体构建【上】
  • 怎样完成本地模型知识库检索问答RAG
  • Linux命令+Git命令
  • mysql数据库的线程连接数、状态 、最大并发数、缓存等参数配置