一:关键字
Linux命令 根据关键字查询日志
1.单个文件可以使用vi或vim编辑器打开日志文件,使用编辑器里的查找功能。在查看模式下,符号/后面跟关键字向下查找,符号?后面跟关键字向上查找,按n查找下一个,按N查找上一个。
2.多个文件可以使用grep命令,比如 grep ERROR /var/log/messages*。会把匹配到ERROR这个关键字的行和所在的日志文件直接输出到屏幕。
3.还可以使用cat命令后面使用grep过滤等方法,不如上面两个实用。上面两个较常用。
常用到的命令在这里记录一下:
1.VI:单个文件可以使用vi或vim编辑器打开日志文件,使用编辑器里的查找功能。在查看模式下,符号/后面跟关键字向下查找,符号?后面跟关键字向上查找,按n查找下一个,按N查找上一个。
2.grep命令:cat 1.log | grep key 可以写为: grep key 1.log
根据字符串查询日志中关键词出现的位置:cat -n 日志文件| grep 'keyword'
例:cat -n 1.log | grep 'keyword'
检索日志,并显示该条日志的前后N(10)行记录:cat 日志文件 | grep -n -B10 -A10 "关键字"
二:时间
3.查看某段时间内的日志: sed -n '/起始时间/,/结束时间/p' 日志文件,
查看某段时间内的关键字日志:sed -n '/起始时间/,/结束时间/p' 日志文件| grep ‘keyword’
例:sed -n ‘/2018-06-21 14:30:20/,/2018-06-21 16:12:00/p’ catalina.out | grep ‘keyword’
三:查看行数
tail -n 10 日志文件 查询日志尾部最后10行的日志;
tail -n +10 日志文件 查询10行之后的所有日志;
head -n 10 日志文件 查询日志文件中的头10行日志;
head -n -10 日志文件 查询日志文件除了最后10行的其他所有日志;
备注:
如果我们查找的日志很多,打印在屏幕上不方便查看, 有两个方法:
(1)使用more和less命令, 如: cat -n test.log |grep "地形" |more 这样就分页打印了,通过点击空格键翻页
(2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析.如:
cat -n test.log |grep "地形" >xxx.txt