跳到主要内容

Linux 里 tail、grep、less 一起用时,排日志会稳很多

· 阅读需 2 分钟
一介布衣
全栈开发者

很多人学日志排查,最先接触的是 tail -f。这当然很好,因为它直观、反馈快。
但 2017 年我自己排查线上日志越来越多之后,一个很明显的体会是:只会单独用某一个命令,和真正排日志顺手,中间差着一层“能不能把工具组合起来”。

为什么组合比单点更重要

因为日志排查通常不是一件事,而是一条流程:

  • 先快速看到最新输出
  • 再缩小到某类关键词
  • 最后回看上下文

如果这三步全靠一个命令硬扛,效率会明显受限。

我大致怎么分工

  • tail 更适合跟实时变化
  • grep 更适合缩小范围
  • less 更适合回看和浏览上下文

当你接受它们各自擅长的职责之后,排日志会从“盯着屏幕找字”变成“有顺序地收窄问题”。

为什么这套方法特别适合线上排查

线上日志最怕量大、节奏快。
你既需要及时看到新信息,也需要在一堆输出里找到真正相关的那段,再往前往后多看几行确认上下文。

单独用 tail -f 容易被信息流冲着走;单独用 grep 又容易把上下文切碎。
把它们配合起来,才更接近真实排障动作。

小结

Linux 里这些老工具之所以耐用,不是因为单个命令多强,而是它们之间能很自然地接成一条排查链。
2017 年之后我对日志排查越来越少追求花哨工具,反而更珍惜 tail、grep、less 这类基本组合,因为它们真的稳。