查看日志常用命令
tail
tail -200f test.log
实时监控200行日志
tail -n 1000 test.log
查询日志尾部最后1000行的日志
tail -n +1000 test.log
查询1000行之后的所有日志
head
head -n 1000 test.log
查询日志文件中的头1000行日志
head -n -1000 test.log
查询日志文件除了最后1000行的其他所有日志
cat
cat -n test.log |grep "debug"
查询关键字的日志
more
more
命令和cat
的功能一样都是查看文件里的内容,但有所不同的是more
可以按页来查看文件的内容,还支持直接跳转行等功能。
more test.log
查看日志
+n
从笫n行开始显示-n
定义屏幕大小为n行Enter
向下n行,需要定义。默认为1行Ctrl+F
向下滚动一屏空格键
向下滚动一屏Ctrl+B
返回上一屏
less
less
与more
类似,但使用less
可以随意浏览文件,而more
仅能向前移动,却不能向后移动,而且less
在查看之前不会加载整个文件。
less test.log
查看日志
b
向后翻一页d
向后翻半页h
显示帮助界面Q
退出less 命令u
向前滚动半页y
向前滚动一行空格键
滚动一行回车键
滚动一页
应用场景
场景一:按行号查看---过滤出关键字附近的日志
cat -n test.log |grep "debug"
得到关键日志的行号
cat -n test.log |tail -n +92|head -n 20
选择关键字所在的中间一行. 然后查看这个关键字前10行和后10行的日志:
tail -n +100
表示查询100行之后的日志
head -n 20
则表示在前面的查询结果里再查前20条记录
场景二:根据日期查询日志
grep '2021-09-30 16:20:00' test.log
确定日志中是否有该时间点
sed -n '/2021-09-30 16:00:00/,/2021-09-30 16:20:00/p' test.log
查看时间节点内的日志
场景三:日志内容特别多,打印在屏幕上不方便查看
- 使用more和less命令
cat -n test.log |grep "debug" |more
分页打印,通过空格键翻页 - 使用 >xxx.txt 将查询到的日志保存到文件中,可以下载这个文件分析
cat -n test.log |grep "debug" >debug.txt