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