Linux 通过日志快速定位错误必掌握命令

2024-06-17 14:38:00 浏览数 (3)

@author: 放牛娃学编程 @moto: 分享与热爱,不是大爱我不说 @放牛娃每日一语: 你改变不了出生、但是你可以改变自己

如果你是开发、运维人员,那你一定要收藏这篇文章

因为这里你能学到AI永远也给不了你的知识

Linux 通过日志快速定位错误必掌握命令

一、这思维比任何宝藏文档都重要

很多放牛娃们看到大而全的Linux命令总结相关文章,总是二话不说的就先把它收到自己的收藏夹里,可殊不知即使你收进了你的收藏夹里,当真正需要的时候你也想不到去查阅它。因为你的第一反应就是找度娘,或者找现如今的AI,也或许因为你收藏了太多,压根你就找不到原来收藏的那片文章了,而我这篇文章想告诉你:只要你掌握了下面思维(方法),你不用去收藏任何一篇博文,当然也包括我这篇。

  • 不要去记这些命令 Linux相关命令这么多,记住全部肯定不可能,也没必要记住这些东西,因为有些命令可能随着版本更新,相关参数可能会调整,如果你死记这些命令,万一新的版本里做了更新,那不全废了
  • 需要有往上的思维 这么多命令,每次用的时候都得百度?那发明这些命令的作者们时间久了,他们也忘了怎么办?所以肯定有个地方记录了这些命令的简易使用说明、及详细的文档(下面会告诉你用什么命令可以查看到这些内容
  • 咬牙尝试去看官方文档 因为很多博文都是东抄抄、西抄抄,它们最终的来源就是官方文档,虽然很多官方文档都是英文文档,但是现在翻译插件这么强大,这不应该成为你看不懂英语的借口,咬牙学着去看,时间久了你就比其他人强,因为你的来源是一手的。

Linux命令官方文档pdf部分截图如下

文档地址链接:https://www.gnu.org/software/coreutils/manual/coreutils.html

二、最少必要命令

必须要学会的两个命令,其它命令你可以不记住,但是下面这两个命令必须要会:

  • help命令 用help命令,可以快速查看某个命令的选项和基本用法, 语法: 对应命令 --help
  • info命令 用info命令,你可以深入了解某个命令的详细信息、背景和示例,语法:info 对应命令

有了上面的思维及会这两个命令之后,我相信你一定会写出如何通过日志快速定位错误的相关命令

下面是通过日志快速定位错误最少必要掌握的命令,如果你不想去想,直接收藏这篇文章就行了。

放牛娃学编程再次重申,Linux命令的可选参数有些有很多,千万不要特意去死记硬背

下面日志文件名用test.log举例,这里的关键字用ERROR来举例

  • 在日志文件中查找到关键字前后20行的内容(文件不是实时一直插入日志的情况下使用)
代码语言:txt复制
# 可以通过-C -A -B参数来控制关键字前后打印的内容,具体可以用我上面教的--help命令查看
# 比如找到报错日志上下文20行,这方便定位到发生错误时的上下文内容
grep -C 20 'ERROR' test.log

# 如果上面命令要对关键字不区分大小写,可以加上-i参数,举例
grep -i -C 20 'ERROR' test.log
  • 实时跟踪日志文件,查找关键字前后20行的内容(这用于实时跟踪日志文件定位关键字上下文非常有用)
代码语言:txt复制
# 有时候日志刷的很快,日志文件也很大,这个时候就可以结合tail命令进行实时跟踪日志,然后让前端/接口 再次触发捕获到关键字上下文日志,从而定位问题点
# tail 不加-n参数,默认是跟踪文件后面10行
tail -n 100 -f test.log | grep -C 20 'ERROR'
  • 实时跟踪日志文件,过滤关键字前后20行的内容重定向到另外一个文件(这里以trace.log举例)
代码语言:txt复制
# 这命令对现场工程老是抱怨日志文件太大很有帮助,其它的日志信息我们不需要,只需要报错关键位置上下文信息,然后将它重定向到另外一个文件,将小的文件发给开发即可
tail -n 100 -f test.log | grep -C 20 'ERROR' > trace.log

这里给出的是grep、tail命令,当然你也可以用其它的命令去查看日志,有了上面的思维,我相信你很快可以上手。

三、最后

当你阅读到这里,希望你记住的不是上面单独的一条条命令,而是文中开头所说的思维,因为这远比你记上上百条命令强的多。

如果需要该笔记pdf文档 Linux命令官方文档pdf,可以找放牛娃学编程

0 人点赞