目录

关键字检索

时间区间检索

大文件显示查看


关键字检索

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