Linux 下面对一大堆 Log 日志文件,如何快速搜索

前言

在 Linux 系统中,尤其是开发、运维、排查问题的时候,我们经常会遇到一个文件夹里堆满了 .log 文件的情况。几百个、上千个日志文件,要手动一个一个打开查找,简直是噩梦!

今天分享几个简单高效的命令,让你几秒钟就能在海量日志中找到想要的内容。

1. 最推荐的方法:grep 递归搜索

这是大多数人最常用的方式,一条命令搞定:

grep -rHn --color=auto "关键词" --include="*.log" .

参数:

  • -r:递归搜索当前目录及所有子目录
  • -H:显示文件名
  • -n:显示匹配内容在第几行
  • --color=auto:高亮显示关键词(特别好看)
  • --include="*.log":只搜索 .log 结尾的文件

忽略大小写版本(推荐):

grep -riHn --color=auto "error" --include="*.log" .

2. 更灵活的方式:find + grep

当日志文件非常多时,这个组合更稳:

find . -name "*.log" -exec grep -Hn --color=auto "关键词" {} +

或者用 xargs 版本(速度稍快):

find . -name "*.log" | xargs grep -Hn "关键词"

3. 常用实用场景命令

  • 只想看文件名(快速定位哪个文件有问题)

    grep -rl "关键词" --include="*.log" .
    
  • 搜索多个关键词(比如 error 或 failed)

    grep -rE --include="*.log" "error|failed|exception" .
    
  • 搜索最近7天修改的日志

    find . -name "*.log" -mtime -7 -exec grep -H "关键词" {} +
    
  • 只搜索当前目录,不进入子目录

    grep -Hn "关键词" *.log
    

4. 进阶神器:ripgrep(rg)

如果你经常要搜索大量日志,强烈建议安装 rg,速度比 grep 快好几倍!

安装命令:

# Ubuntu / Debian
sudo apt install ripgrep

# CentOS / Rocky / Alma
sudo dnf install ripgrep

使用方式超级简单:

rg "关键词" --type log

# 或指定目录
rg "error" /var/log/app/
posted @ 2026-06-04 17:25  牛奔  阅读(46)  评论(0)    收藏  举报