Linux 系统 log 查看工具筛选错误日志步骤

2025-07-25 0 545 百度已收录

在 Linux 系统里找错误日志,是不是像在乱堆的文件里找一根针?日志文件动辄几百兆,一行行翻能把人看晕,好不容易看到 “error” 字样,刚想记下来又滑过去了。新手用 Linux 的 log 查看工具,常常不知道从哪下手,要么命令输错了没反应,要么筛出来一堆无关信息。小编前阵子帮同事处理服务器故障,他对着 /var/log/messages 翻了快一小时,愣是没找到关键错误,后来用对了筛选方法,5 分钟就定位了问题。今天就把具体步骤说清楚,用的都是 Linux 自带的工具,不用额外安装,新手也能跟着做,一起往下看吧!

先明白:Linux 里的错误日志,一般藏在哪?

别上来就瞎搜,先知道错误日志可能在哪些地方。Linux 的日志文件大多在 /var/log 目录下,常见的有:

  • /var/log/syslog:系统整体的日志,很多服务的错误会记在这里
  • /var/log/apache2/error.log:如果装了 Apache 服务器,网站错误在这
  • /var/log/mysql/error.log:MySQL 数据库的错误日志在这
  • /var/log/auth.log:登录相关的错误,比如 SSH 登录失败会记在这里

小编建议,新手可以先记住这几个路径,找错误时先从对应的文件下手,比盲目搜整个系统快多了。比如网站打不开,先看 Apache 的 error.log,十有八九能找到原因。

步骤一:用 grep 命令,快速揪出带 “错误” 的行

grep 是 Linux 里筛选日志的 “利器”,能从文件里挑出包含特定关键词的行,找错误日志首推它。

  1. 打开终端,先 cd 到日志所在目录,比如要看 syslog 里的错误,输入 “cd /var/log”
  2. 输入筛选命令:“grep “error” syslog”(小写 error,会区分大小写)
    • 要是想不区分大小写,加 – i 参数:“grep -i “error” syslog”,这样 “Error”“ERROR” 也能被找到

    Linux 系统 log 查看工具筛选错误日志步骤

  3. 回车后,所有包含 “error” 的行都会列出来,错误信息会高亮显示,一目了然

小编实测,用 “grep -i “error” syslog” 筛一个 500MB 的日志文件,也就一两秒的事,比翻页快太多。不过要注意,关键词别太泛,比如只搜 “error” 可能会出来很多无关的调试信息,最好加具体服务名,比如 “grep -i “mysql error” syslog”,精准度会高不少。

步骤二:用 less 命令,边看边筛大文件

如果日志文件特别大(比如超过 1GB),直接用 grep 可能有点卡,或者想边翻页边找错误,用 less 更合适。

  1. 输入 “less /var/log/syslog”,打开日志文件
  2. 按 “/” 键,输入要找的关键词,比如 “error”,按回车
  3. 此时第一个包含 “error” 的行会被高亮,按 “n” 键跳到下一个,按 “N” 键回到上一个
  4. 看完后按 “q” 退出 less

同事之前用 less 找一个 2GB 的日志,一开始不知道按 “n” 键,找到一个错误后就卡在那了,后来教他按 “n” 继续跳,效率立马提上来了。不过话说回来,虽然 less 适合大文件,但实时筛选新出现的错误,不如 tail 命令方便。

步骤三:用 tail 命令,盯着实时出现的错误

如果错误是刚发生的,或者想监控新出现的错误(比如调试程序时),tail 命令最管用,它能实时显示日志的新内容。

  1. 输入 “tail -f /var/log/syslog”,“-f” 表示实时跟踪,新写入的日志会自动显示
  2. 此时终端会一直刷新,按 “Ctrl+C” 可以停止跟踪
  3. 想在实时跟踪时筛选错误,加个 grep 就行:“tail -f /var/log/syslog | grep -i “error””,这样新出现的错误会单独显示

小编调试程序时,就常开着这个命令,程序一报错,终端立马显示,不用一遍遍手动刷新日志,特别方便。不过要注意,实时跟踪时别关终端,关了就看不到新内容了。

步骤四:按时间筛选,缩小查找范围

如果知道错误大概发生的时间,比如 “今天下午 2 点到 3 点之间”,可以结合 grep 和时间关键词来筛,更精准。

  1. 先确定日志里的时间格式,比如 syslog 里常是 “May 20 14:xx:xx”(5 月 20 日 14 点)
  2. 输入命令:“grep -i “May 20 14:” /var/log/syslog | grep -i “error””,这样就只显示 5 月 20 日 14 点的错误

这个方法适合已知大概时间的情况,小编上次处理定时任务失败的问题,知道任务是凌晨 3 点执行的,用这个命令很快就找到了对应的错误记录。

表格:三种工具筛选错误的对比,新手该选哪种?

工具 适合场景 优点 新手容易踩的坑
grep 快速找包含关键词的错误 速度快,支持关键词组合 忘了加 – i 参数,漏掉大写的 Error
less 大文件里边翻边找错误 不卡,能前后翻页 不知道按 n 键跳转到下一个错误
tail 监控实时出现的错误 实时更新,不用手动刷新 按 Ctrl+C 停止后,不知道怎么重启

自问自答:新手可能会问的问题

问:筛选出来的错误日志,看不懂里面的代码咋办?
答:不用全看懂,抓住关键信息就行。比如 “connection refused” 是连接被拒绝,“file not found” 是文件没找到,这些简单的英文能猜个大概,实在不懂就把错误信息复制到百度搜,一般都有解释。
问:为什么有时候用 grep 搜不到错误,明明日志里有?
Linux 系统 log 查看工具筛选错误日志步骤答:可能是关键词记错了,比如日志里写的是 “fail” 而不是 “error”,可以试试搜 “fail”“warning” 这些相关词。另外,路径输错了也会搜不到,比如把 /var/log 写成 /var/logs,命令就会提示 “没有那个文件”。
问:对于加密的日志文件,这些筛选方法还管用吗?
答:这个我不太确定。我试过的日志都是明文的,对于某些加密过的日志,grep 这些命令可能读不出内容,具体怎么筛选加密日志,我还在研究,等弄明白了再分享。
小编觉得,Linux 筛选错误日志,核心就是 “找对文件 + 用对命令”。新手不用一下子学太多,先把 grep 练熟,大部分情况都能应付。一开始可能会输错命令,比如把 grep 写成 gep,多试几次就记住了。其实这些工具就像筛子,关键词是筛孔,想筛出什么大小的 “石头”(错误信息),就选对应的筛孔,练得多了,自然就顺手了。
希望这些步骤能帮你少走弯路,要是你有其他好用的筛选技巧,欢迎在评论区说一声,让大家都能学得更快~

最新业务:世纪货币网
收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

兔格号 SEO运维 Linux 系统 log 查看工具筛选错误日志步骤 https://www.tglzm.com/seo/wei-seo/5051.html

一个独行者,独揽万古

常见问题

相关文章

评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务