【Linux】查看、筛选、分析日志

总结一些平时查看日常或线上日志常用的Linux命令,主要包括查看、筛选、分析、统计的命令。

查看日志

查看日志的命令主要有cat,tac,head,tail。

(1)cat命令经常用于查看日志文件,打印连续的内容。对于日常或者线上的机器来说,往往日志文件很大,将连续的日志打印出来,并不能快速的找到结果,并不建议使用。例子:

  • 从第10行开始显示15行 cat access.log | tail -n +10 | head -n 15
  • 显示10到25行cat access.log | head -n 25 | tail -n +10

(2)tac命令与cat命令恰恰相反,tac命令是将文件反序打印出来,从文件的最后一行开始打印。使用场景并不多。

(3)head命令用于取出文件的前几行,默认取前10行,可以加上参数-n,n用于代表前多少行。

(4)tail命令用于取出文件的后几行,默认取前10行,同样可以加上参数-n。平时用的最多的是用tail -f来动态的观察日志。例子:

  • 显示最后10行tail -n 10
  • 从第10行显示到最后tail -n +10
  • 显示前面10行head -n 10

(5)zcat命令用于查看压缩文件中的信息,好处是不用解压文件就可以查看。

(6)sed命令是一个面向行处理的工具,它以“行”为处理单位,针对每一行进行处理,处理后的结果会输出到标准输出。

  • 显示5-10行sed -n '5,10p' access.log

筛选日志

(1)grep命令是用的最多的分析日志的命令,通过对一行信息进行分析,筛选出想要的信息。

语法如下:

grep [-acinv] [–color=auto] ‘筛选的字符串’ 文件名

参数:

  • -a:表示将binary文件以text的文件格式进行查找
  • -c:得出匹配得到的信息的行数
  • -i:筛选文件时不区分大小写
  • -n:输出筛选结果的同时,输出行号
  • -v:查找不包含筛选条件的信息
  • -color=auto:为筛选结果中的关键字标记颜色
  • -A:后面加行数n,用于列出关键字对应行以及后面n行
  • -B:后面加行数n,用于列出关键字对应行以及前面n行

(2)zgrep命令,用法与grep没什么区别,但是适用于压缩文件,在筛选压缩文件中的信息时,速度很快。

分析日志

(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:统计字符数
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值