服务日志快速查询命令

发布时间 2023-04-12 14:23:31作者: Lowell

一、 cat | grep 命令的使用

1.单个关键字查询日志

cat 日志文件名.log | grep '关键字'    	     //单行显示

cat 日志文件名.log | grep '关键字' -B 5    //之前5行 B的释义:Before

cat 日志文件名.log | grep '关键字' -A 5    //之后5行 A的释义:After

cat 日志文件名.log | grep '关键字' -5       //前后5行

cat 日志文件名.log | grep '关键字' -C 5    //前后5行

cat 日志文件名.log | grep -v '关键字'      //排除关键字所在的行的信息

cat -n 日志文件名.log|tail -n +7625359|head -n 10 // 查询7625359行号数据的之后10行

2.多个关键字同时满足

cat 日志文件名.log | grep '关键字1' | grep '关键字2' | grep '关键字3'

3.多个关键字满足任意一个

cat 日志文件名.log | grep -E '关键字1|关键字2|关键字3'

二、 tail -f 命令的使用

1.实时显示日志结果

tail -f 日志文件名.log        			//实时查看日志文件

tail -10f 日志文件名.log       			//实时查看日志文件后10行

tail -f 日志文件名.log | grep '关键字'    //实时查看关键字过滤后的结果(可以grep命令合并使用)

三、grep命令的使用

1.单个关键字过滤

grep '关键字' 日志文件名.log        			//单行显示

grep '关键字' -B5 日志文件名.log        		//之前5行 B的释义:Before

grep '关键字' -A5 日志文件名.log        		//之后5行 A的释义:After

grep '关键字' -C5 日志文件名.log        		//前后5行

grep '关键字' -5 日志文件名.log             	//前后5行

grep -v '关键字' 日志文件名.log      			//排除关键字所在的行的信息

2.多个关键字同时满足

grep '关键字1' 日志文件名.log | grep '关键字2' | grep '关键字3'

3.多个关键字满足任意一个

grep -E '关键字1|关键字2|关键字3'

四、 日志截取

1.指定时间范围截取日志

sed -n '/开始时间/,/结束时间/'p 日志文件名.log > 保存目录
例:sed -n '/2022-01-24 12:50:00/,/2022-01-24 13:00:00/'p catalina.log > /tmp/test.log

五、 日志结果保存

1.查询日志结果保存

cat 日志文件名.log | grep '关键字' > 保存目录
例:cat catalina.log | grep '关键字' > /tmp/test.log

grep '关键字' 日志文件名.log > 保存目录 
例:grep '关键字' catalina.log > /tmp/test.log

2.查询文件目录

find -name catalina.log
find /usr/local -name catalina.log