Linux系统查询日志命令整理

根据字符串查询日志中关键词出现的位置及前后n行内容:
cat -n 日志文件| grep '错误的关键信息提示'  -C n
例:cat -n test.log | grep 'keyword' -C 10 
查询日志中含有某个关键字的信息,显示出行号,查看日志中出现关键字 "keyword" 的前后10行内容

cat可替换成grep命令:cat -n 1.log | grep key  可以写为:grep -n key 1.log 
cat -n test.log | grep 'keyword' -C 10 可写为:grep -n  'keyword' test.log -C 10
分解:
cat -n中, -n作用为显示行号,同理在grep命令中 -n同样适用;
grep -C 10中,  -C作用为查询关键字前后行数,10为10行

从第3000行开始,显示1000行。即显示3000~3999行
cat filename | tail -n +3000 | head -n 1000
#    tail条件在前,限定从3000开始;head补充在后,显示1000行

显示1000行到3000行
cat filename| head -n 3000 | tail -n +1000
#    head条件在前,限定行数数量;tail补充在后,从1000开始

*注意两种方法的顺序(head在前限制行数,在后补充行数,tail不受影响)
分解:
tail -n 1000:显示最后1000行
tail -n +1000:从1000行开始显示,显示1000行以后的
head -n 1000:显示前面1000行


tail -f catalina.out |grep -C 10 ERROR
该命令实时读取日志文件,把出现“ERROR”行的日志前后各10行日志打印出来。
也可以把日志记录到文本中:
tail -f catalina.out |grep -C 10 ERROR >>error.log(实时获取,若日志太大读取会很慢)
tailf -n 400 catalina.out |grep -C 10 ERROR >>error.log(同样实时读取,但只获取最新400行,如日志太大建议用此命令)


用sed命令
查看某段时间内的日志: sed -n '/起始时间/,/结束时间/p' 日志文件,
查看某段时间内的关键字日志:sed -n '/起始时间/,/结束时间/p' 日志文件| grep ‘keyword’

sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。

#!没有反应# sed -n ‘/2018-06-21 14:30:20/,/2018-06-21 16:12:00/p’ catalina.out | grep ‘keyword’
这样可以精确地截取出来某个时间段包含关键字的日志。


最快的方式是让光标停留在想要查找的单词的任意一个字母上面, 然后输入Shift + *  ,即可快速选中该单词,并且可以通过 n  或  N 进行上一个或下一个的匹配。
单个文件可以使用vi或vim编辑器打开日志文件,符号 / 后面跟关键字向下查找(/keyword),符号 ? 后面跟关键字向上查找(?keyword),按n查找下一个,按N查找上一个。看到报错后,直接把日志截个图给开发:输入 tail -n 10000 logfile.out >/abc.txt
截10000行代码,保存在根目录下的abc文件中。
多个文件可以使用grep命令,比如 grep -n ERROR /var/log/error2021-*.log。会把匹配到ERROR这个关键字的行和所在的日志文件直接输出到屏幕。

注:该文章为作者本人平时收集相关资料,将大量查询日志相关信息加以简要提取,分析命令作用并加以文字说明,欢迎查阅交流!

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值