总结一些平时查看日常或线上日志常用的Linux命令,主要包括查看、筛选、分析、统计的命令。
1.查看日志
查看日志的命令主要有cat,tac,head,tail。
(1)cat命令经常用于查看日志文件,打印连续的内容。对于日常或者线上的机器来说,往往日志文件很大,将连续的日志打印出来,并不能快速的找到结果,并不建议使用。
(2)tac命令与cat命令恰恰相反,tac命令是将文件反序打印出来,从文件的最后一行开始打印。使用场景并不多。
(3)head命令用于取出文件的前几行,默认取前10行,可以加上参数-n,n用于代表前多少行。
(4)tail命令用于取出文件的后几行,默认取前10行,同样可以加上参数-n。平时用的最多的是用tail -f来动态的观察日志。
(5)zcat命令用于查看压缩文件中的信息,好处是不用解压文件就可以查看。
2.筛选日志
(1)grep命令是用的最多的分析日志的命令,通过对一行信息进行分析,筛选出想要的信息。简单的语法如下:
grep [-acinv] [--color=auto] '筛选的字符串' 文件名
-a:表示将binary文件以text的文件格式进行查找
-c:得出匹配得到的信息的行数
-i:筛选文件时不区分大小写
-n:输出筛选结果的同时,输出行号
-v:查找不包含筛选条件的信息
-color=auto:为筛选结果中的关键字标记颜色
-A:后面加行数n,用于列出关键字对应行以及后面n行
-B:后面加行数n,用于列出关键字对应行以及前面n行
(2)zgrep命令,用法与grep没什么区别,但是适用于压缩文件,在筛选压缩文件中的信息时,速度很快。
3.分析日志
(1)awk命令,基于一行数据通过分段的方式进行处理,字段是它处理的最小单位。
默认情况下,awk用空格符和tab键来进行分段。如awk '{print $1}' test.log,将test.log中每一行数据分段后,打印第一列数据。
当然,也可以设置数据的分隔符,如awk 'BEGIN{FS=":"}{print $1}' test.log,将分隔符设置为":"。
另外,也可以进行一些逻辑判断,如awk 'BEGIN{FS=":"} $>3 {print $1}' test.log,增加列第三列数据大于3的条件。
(2)sort命令可以对筛选得到的结果进行排序,它可以根据不同的数据类型进行排序。语法如下:
sort [-fbMnrtuk] [file or stdin]
-f:不区分大小写
-b:忽略最前面的空格
-M:以月份进行排序
-n:按照数字进行排序
-r:反序
-t:分隔符,默认为Tab键
-u:uniq,过滤相同的数据
-k:以那个区间进行排序
(3)uniq命令用来过滤重复数据,同样的数据只显示一次。语法如下:
uniq [-ic]
-i:不区分大小写
-c:显示出现的次数
(4)wc命令用于统计文件里的字,行,字符的数量。
wc [-lwm]
-l :统计行数
-w:统计字数
-m:统计字符数
其他相关的Linux命令还有很多,有待完善。
linux检索日志 grep过滤 linux日志查看过滤命令
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
下一篇:理解rpc通信机制 rpc通讯
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Linux日志轮替
Linux日志轮替
日志文件 配置文件 Linux日志轮替