Linux查找日志技巧

  在日常工作中避免不了经常查日志的情况,对于较小的日志文件可以直接下载打开,但是对于比较大的日志文件比如 .out 结尾的日志文件动辄几G,大的十几G,要想直接打开查找很明显不太可能,总结了下平时经常会用到的命令,以备遗忘。

1. 日志头部/尾部的内容输出

tail -n 100 catalina.out

  查看日志最后100行

tail -n 2000 catalina.out > 3030-01-01-test.txt

 将文件最后的两千行输出到名为 3030-01-01-test.txt 的文件内,若没有这个文件会新建,若这个文件有内容会覆盖。

tail -f catalina.out

 实时输出catalina.out 的文件内容,不合适输出日志比较快的文件,ctrl+s暂停,ctrl+q继续,ctrl+c退出。

>以上命令将 tail(尾部) 换成 head(头部) 一样适用

补:

tail  -n  10  test.log   查询日志尾部最后10行的日志;

tail -n +10 test.log    查询10行之后的所有日志;

head -n 10  test.log   查询日志文件中的头10行日志;

head -n -10  test.log   查询日志文件除了最后10行的其他所有日志;

2. 根据时间获取日志内容

首先需要匹配出文件中是否有想要的两个时间点,grep '2020-01-01 10:10:10' catalina.out

有的话,根据两个时间点获取日志,sed -n '/2020-01-01 10:10:10/,/2020-01-01 30:00:00/p'  catalina.out

这样获取的是直接在shell中处理,可以将其输出到指定文件中, sed -n '/2020-01-01 10:10:10/,/2020-01-01 30:00:00/p'  catalina.out > 2020-08-01-test.txt

下载查看 sz 2020-08-01-test.txt

>以上根据时间段查看日志的方法,同样适用于查看两个关键字之间的日志

3. 根据行号查看日志

同上,首先需要查看关键字的行数, cat -n catalina.out |grep '关键字' ,返回的是所有关键字对应的行数

查看关键字前后10行,比如关键字在第100行,cat -n catalina.out |tail -n +90|head -n 20

 

posted @ 2020-08-21 15:32  iHADream  阅读(722)  评论(0编辑  收藏  举报