Linux快速定位日志 排查bug技巧和常用命令

陈震_ 2024-08-10 09:37:01 阅读 65

1. 快速根据关键字定位错误信息

grep

在 Linux 系统中,可以使用 <code>grep 命令来查找日志文件中包含特定关键字的行。假设你的日志文件路径为 /var/log/myapp.log,你想要查找包含关键字 "abc" 的日志内容,可以按照以下步骤操作:

如果你很明确要找的内容在某一个文件xxx.log中,可以使用下面两条命令输出内容所在行号:

cat xxx.log |grep -n "xxx"

grep -n "xxx" xxx.log

如果你有大量的日志文件,不确定要找的东西在哪里,可以使用递归搜索,这条命令可以快速找到所有含关键字的行

grep -r -n "xxx" .

-r :递归搜索,即搜索当前目录及其子目录中的所有文件。. :表示当前目录。-n:输出行号

这个命令会在当前文件夹及其所有子文件夹中的所有文件内搜索包含“xxxx”这段文字的行,并将结果输出。

找到行号后,通过下一条命令 直接输出当前行号下的日志

在这里插入图片描述

这个命令是用来查看一个日志文件 <code>xxx.log 中特定范围的行。从第 501 行开始,显示接下来的 100 行日志

tail -n +501 xxx.log | head -n 100

这样可以更快速更精准的定位到关键日志,而不是去打开日志文件来搜索,或者二次触发bug,来查看日志,这些命令能够帮助你更高效地查找和分析日志文件中的特定信息。

2.动态实时查看日志

tail 命令

tail -f xxx.log实时展示日志末尾内容,默认最后10行,相当于增加参数 -n 10

tail -f server.log

查看日志正数20行内容

tail -n +20 xxx.log

cat 命令

cat 区别于tail是对日志进行全文搜索,其中-n的作用是显示行号

cat -n xxx.log | grep "xxx"

-C 选项来显示检索结果的前后几行,-A 选项展示检索结果后几行,-B选项展示检索结果前几行

cat -n xxx.log | grep -C 5 'xxx'

less 命令

less 命令多用于读取文本文件,也可用于读取实时被更改的文件。ctrl +c 中断实时读取显示,按 q 会退出less视图,选项 +F 可以实时跟踪文件的更改:

less +F xxx.log

第一步:打开日志文件

less xxx.log

第二步:定位到日志文件的最后一行:

shift+g 移动到最后一行

第三步:往前一页一页翻页查看

ctrl+b

1.全屏导航

ctrl + F - 向前移动一屏

ctrl + B - 向后移动一屏

ctrl + D - 向前移动半屏

ctrl + U - 向后移动半屏

vim编辑模式

进入编辑日志文档

vim xxx.log

正向查找,配合n键可以将光标移动到下一个符合条件的地方

/关键字

反向查找,配合shift + n 键可以将光标移动到下一个符合条件的地方

?关键字



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。