日志查询常用命令

1、tail

命令格式: tail [必要参数] [选择参数] [文件]

-f 循环读取

-q 不显示处理信息

-v 显示详细的处理信息

-c<数目> 显示的字节数

-n<行数> 显示行数

-q, --quiet, --silent 从不输出给出文件名的首部

-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
tail -n 100 catalina.out 查询日志尾部最后100行的日志;

tail -n +100 catalina.out 查询100行之后的所有日志;

tail -fn 100 catalina.out 循环实时查看最后100行记录(最常用的)

配合着grep用, 例如 : tail -fn 100 catalina.out | grep  -- '关键字'

如果一次性查询的数据量太大,可以进行翻页查看

tail -n 6000 catalina.out | more -100 可以进行多屏显示(ctrl + f 或者 空格键可以快捷键)

2、head

head -n  10 catalina.out   //查询日志文件中的头10行日志;
head -n -10  catalina.out   //查询日志文件除了最后10行的其他所有日志;head其他参数与tail 

3、cat

$ cat filename          // 一次显示整个文件 

$ cat -n test.log | grep 'error' 查询日志中含有某个关键字的信息,显示出行号

$ cat > filename         //从键盘创建一个文件 

$cat file1 file2 > file      //将几个文件合并为一个文件,只能创建新文件,不能编辑已有文件.

$cat -n textfile1 > textfile2 //将一个日志文件的内容追加到另外一个 : 

$cat : >textfile2        // 清空一个日志文件

4、sed

sed -n '/开始时间日期/,/结束时间日期/p' all.log

$sed -n '/2019-10-24 22:16:21/,/2019-10-24 22:16:59/p' all.log

注意:如果开始时间日志里面是没有的,那么查询结果为空,如果结束时间日志里面是没有的,查询的结果就是开始时间到最后的全部日志

5、more、less

more, less 都具备查找功能,按/ 然后输入要找的字串,再按 Enter 即可,按 n(next) 会继续找,大写的 N 则是往回(上)找,按 q(quit)或者ZZ离开

6、查询场景

场景1: 按行号查看---过滤出关键字附近的日志

通常,用grep获得的日志信息很少,此时需要查看附近的日志

首先,得到关键日志的行号
cat -n test.log | grep "error"

如,获得"error"关键字所在的行号是12行. 此时如果我想查看这个关键字前10行和后10行的日志
cat -n test.log | tail -n +10 | head -n 20

tail -n +10 表示查询10行之后的日志
head -n 20 则表示在前面的查询结果里再查前20条记录

场景2:查看指定时间段内的日志

sed -n '/2017-02-23 10:00:00/,/2017-02-23 10:06:23/p' test.log 
sed -n '/2017-02-23 10:00:/,/2017-02-23 10:06:/p' test.log

注意:如果开始时间日志里面是没有的,那么查询结果为空,如果结束时间日志里面是没有的,查询的结果就是开始时间到最后的全部日志

grep "2017-02-23 10:00" test.log

场景3:查看日志中特定字符的匹配数目

grep "abcd" test.log | wc -l

场景4:实时查看日志

tail -f test.log

场景5:查询最后20行,并查找关键字“结果”

tail -n 20 test.log | grep '结果'

场景6:查询最后20行,并查找关键字“结果”,文字标红

tail -n 20 test.log | grep '结果' --color

场景7:查询最后20行,并查找关键字“结果”,文字标红,上下扩展两行

tail -n 20 test.log | grep '结果' --color -a2

场景8:分页查看,使用空格翻页(使用more/less)

cat -n test.log | grep "error" | more

场景9:日志文件超大时,怎么查看日志

可以参考:https://blog.csdn.net/stupid56862/article/details/93330203

posted @ 2020-05-24 09:48  xyztank  阅读(2284)  评论(0编辑  收藏  举报