LINUX 查看日志
0. 重点!重点!重点!常用
(1)使用less命令查找指定关键字的日志
less test.log
查询日志
G
移动到日志最后一行
?关键字
查找日志中当前行之前的关键字
n
查找上一个
N
查找下一个
j
下移一行
k
上移一行
page up 上一页
page down 下一页
(2) 使用cat查找指定关键字的日志(cat命令适用于小日志文件,大日志文件建议使用第一种方法)
cat -n test.log |grep "关键字" -B 10 得到日志关键字之前的10行
cat -n test.log |grep "关键字" -A 10 得到日志关键字之后的10行
(3) 实时监控日志
tail -100f test.log
实时监控100行日志
1. 查看日志常用命令
(1) tail: -n 是显示行号;相当于nl命令;例子如下:
tail -100f test.log
实时监控100行日志
tail -n 10 test.log
查询日志尾部最后10行的日志;
tail -n +10 test.log
查询10行之后的所有日志;
(2) head: 跟tail是相反的,tail是看后多少行日志;例子如下:
head -n 10 test.log
查询日志文件中的头10行日志;
head -n -10 test.log
查询日志文件除了最后10行的其他所有日志;
(3) cat: tac是倒序查看,是cat单词反写;例子如下:
cat -n test.log |grep "关键字"
查询关键字的日志
2. 应用场景一:按行号查看—过滤出关键字附近的日志
cat -n test.log |grep "关键字"
查询关键字的日志,并得到关键日志的行号
cat -n test.log |tail -n +100|head -n 20
选择关键字所在的行号(比如100),并打印其后面的20行
3. 应用场景二:根据日期查询日志
sed -n '/2020-12-20 16:17:20/,/2020-12-20 16:17:36/p' test.log
特别说明:上面的两个日期必须是日志中打印出来的日志,否则无效;
先 grep '2020-12-20 16:17:20' test.log
来确定日志中是否有该时间点
4. 应用场景三:日志内容特别多,打印在屏幕上不方便查看
(1)使用more和less命令,
如: cat -n test.log |grep "debug" |more
这样就分页打印了,通过点击空格键翻页
(2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析(先确定你有没有服务器的文件下载权限)
如:cat -n test.log |grep "debug" >debug.txt