项目中问题排查离不开日志。查看日志的常用命令很多,也很容易忘记。此处记录几个很有用的命令。

假设有日志文件biz.log

0. tail命令

说明:用于输出文件中的尾内容,也可以实时查看日志。

本人最常用的


tail  -f  biz.log      #实时查看最新的日志输出
 
tail  -10f  biz.log     #查看最后输出的10行日志
 
#退出查看: Ctrl + Z

1. cat命令 

说明:该命令显示全部日志,如果文件比较大的话,不建议使用

所以很少用

cat biz.log    #查看全部

cat biz.log | head -n 50   #查看日志前50行

cat -n hrun.log | tail -n 50   #查看日志后50行,并显示行号

2.more 命令

说明:查询日志里的全部内容,与cat命令不同的是,more命令是一页一页进行展示的,通过按空白键space就往下一页显示,按b键就会往回一页显示。 

more biz.log

3.grep命令

说明:grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 

grep表示全局正则表达式版本,它的使用权限是所有用户。

常用grep命令

grep  'xxx'  biz.log                       #查找log带‘xxx’的日志内容
 
grep  'xxx'  biz.log  -c                   #查看log中带‘xxx’日志内容的行数
 
grep  'xxx'  biz.log  | grep  'yyy'        #查看log既带‘xxx’又带‘yyy’的日志内容
 
grep  -v  'xxx' biz.log                    #查看log不带‘xxx’的日志内容
 
grep  'xxx' biz.log  | grep -v  'yyy'      #查看log带'xxx',但不带'yyy'的日志内容
 
grep 'xxx\|yyy'  biz.log  或  grep -E "xxx|yyy" biz.log     #查询带`xxx`或`yyy`的日志内容


#语法:
grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...] 

 4.常见组合用法

  • 根据关键字查看日志
cat biz.log | grep "XXX"
  • 根据关键字查看后10行日志
cat biz.log | grep "xxx" -A 10   #A---after
  • 根据关键字查看前10行日志
cat biz.log | grep "xxx" -B 10 #B----before
  • 根据关键字查看前后10行日志,并显示出行号
cat -n biz.log | grep "xxx" -C 10  #C----context
Logo

更多推荐