常用Linux日志查看命令

【仅需9.9订阅[专栏合集](https://blog.csdn.net/hellozpc/category_11127579.html),作者所有付费文章都能看】

常用Linux日志查看命令

推荐【Kafka】https://bigbird.blog.csdn.net/article/details/108770504
推荐【Flink】https://blog.csdn.net/hellozpc/article/details/109413465
推荐【SpringBoot】https://blog.csdn.net/hellozpc/article/details/107095951
推荐【SpringCloud】https://blog.csdn.net/hellozpc/article/details/83692496
推荐【Mybatis】https://blog.csdn.net/hellozpc/article/details/80878563
推荐【SnowFlake】https://blog.csdn.net/hellozpc/article/details/108248227
推荐【并发限流】https://blog.csdn.net/hellozpc/article/details/107582771

 ------------
华为云开年采购季刚刚上线,小编整理好了,第一手资料,方便大家薅一波羊毛。
先说福利:
①:个人认证用户:华为云100元无门槛代金券+免费领取一台服务器一个月
②:企业认证用户: 华为云200元无门槛代金券+免费领取一台服务器两个月(还有华为自研鲲鹏超强计算服务器领取)
现在普通人也可以建立自己的网站了,1元购买个域名,不管是个人博客、作品集网站、企业官网展示、简历网站,都可以很简单快速的实现,鉴于大多数人都是不懂技术的小白,这种情况下可以选择华为云云速建站,现在华为云开年采购季活动建站活动非常的优惠,买2年送1年,买3年送2年,还免费赠送1年SSL证书。

华为云也面向在校大学生推出的创新创业扶持计划,为高校生提供先进的云计算产品、技术扶持、培训课程和经验分享,让在校学生不仅用得起云计算,还能用得好云计算。

  领取方式:
第一步:扫描二维码注册华为云账号(一定要扫码注册,否则无法获得无门槛代金券)

 

 


--------

 

查看Web应用程序的运行日志解决运行时异常、出错是一项基本功。在Web程序中我们通过日志系统(比如log4j)向外部文件(比如log.txt)写入了程序运行时的某些日志(一般都会给日志行头加上tag),日志输出了程序中约定的一些变量(可能是某个订单号、某条服务码、请求ID值等标识)的值。

如果哪个订单处理失败了,或者某个服务运行异常了,此时我们就可以根据程序中输出的这些tag(标签)信息定位日志中的记录,来看看具体的变量值对不对,传入传入参数的值等等(毕竟不是开发环境,不能debug只能通过打tag的方式来帮助找错)。

先介绍一些常用查看文件的命令。后面介绍的几个案例实际工作中经常使用,值得一看!

1.more(分页)

http://www.cnblogs.com/peida/archive/2012/11/02/2750588.html

2.less(less 与 more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件)

less命令可以显示行号,即less -N log.txt

http://www.cnblogs.com/peida/archive/2012/11/05/2754477.html

3.tail(尾部)

http://www.cnblogs.com/peida/archive/2012/11/07/2758084.html

4.head(头部)

http://www.cnblogs.com/peida/archive/2012/11/06/2756278.html

5.grep(查找,以加行号grep -n ‘xxx’ log.txt | more)(可以巧妙利用grep + tail命令定位满足grep条件的后几条最新记录)

小案例:

输出匹配grep条件的数据行的前后各10行:(可能满足grep条件的有好多,所以可能输出好几个21行为一组的数据)

grep  -n  -C10  'R0619'  caps-biz.txt

输出最后一次匹配grep条件的数据行的前后各10行:(借助tail命令取最后几行)

grep  -n  -C10  'R0619'  caps-biz.txt | tail -n 21 

grep  -n  -C10  'R0619'  caps-biz.txt | tail -n 21 | less(借助less命令的/pattern可以高亮搜索词)

http://www.cnblogs.com/peida/archive/2012/12/17/2821195.html

http://www.cnblogs.com/end/archive/2012/02/21/2360965.html

6.cat(输出文件内容)

cat 可以显示行号

cat -n   显示行号(包括空行)

cat -b   显示行号(不包括空行)

cat  -n log.txt | more

http://www.cnblogs.com/peida/archive/2012/10/30/2746968.html

7.nl(将行号格式做比较多的显示设计)

http://www.cnblogs.com/peida/archive/2012/11/01/2749048.html

几个命令的区别:http://www.cnblogs.com/cangqiongbingchen/p/5023886.html

Linux如何通过命令查看日志文件的某几:http://www.cnblogs.com/qiaoyanlin/p/6706085.html

 

案例

先了解两个最基本的命令:

tail  -n  10  test.log   查询日志尾部最后10行的日志;

tail -n +10 test.log    查询10行之后的所有日志;

head -n 10  test.log   查询日志文件中的头10行日志;

head -n -10  test.log   查询日志文件除了最后10行的其他所有日志;

1)按行号查看---过滤出关键字附近的日志

通常我们用grep拿到的日志很少,我们需要查看关键信息附近的日志.

首先: cat -n log.txt |grep "jiang"  ([root@vm1 ~]# grep -n "jiang" log.txt也可以)

 

注意:less命令的显示行号是大写的N,即less -N log.txt

得到关键日志的行号,比如这里找到包含“jiang”的记录很多行,假设我们要的结果是第18行附近的日志。

此时如果我想查看这个关键字前5行和后5行的日志(当然也可以使用上面的grep命令加-C参数完成):

cat -n log.txt |tail -n +13|head -n 10

tail -n +13表示查询13行之后的日志

head -n 10 则表示在前面的查询结果里再查前10条记录

如果想直接看最新的日志,那么行号最大的就是。可以根据日志记录时间等条件筛选一下,或者使用less命令,不断地翻页(end定位到最后)

如果满足grep条件的日志很多,那么可以结合tail命令只显示最后几行。

如果我们查找的日志很多,打印在屏幕上不方便查看,有两个方法:

(1)使用more和less命令,如: cat -n test.log |grep "jiang" |more  这样就分页打印了,通过空格键翻页,回车键下一行。

(2)使用 >xxx.txt将其保存到文件中,到时可以拿下这个文件分析.如:

cat -n test.log |grep "jiang"  >xxx.txt

2)根据日期来查看

一般在日志系统中都会记录打印日志的时间,通常我们非常需要查找指定时间端的日志:

特别说明:该命令中的两个日期值必须是日志文件中包含的值,否则该命令无效.

sed -n '/2017-06-04 14:06:27/,/2017-06-04 14:06:34/p'  test.log

sed -n '/2017/06/04 14:06:27/,/2017/06/04 14:06:34/p'  test.log

上述命令无效,需要转义:

sed -n '/2017\/06\/04 14:06:27/,/2017\/06\/04 14:06:34/p'  test.log

 

关于日期打印,可以先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该时间点,以确保上一步可以拿到日志。这个根据时间段查询日志是非常有用的命令.

特别说明 : 该命令中的两个日期值必须是日志文件中包含的值 , 否则该命令无效 .
 
 
欢迎关注公众号
欢迎关注公众号【程猿薇茑】
打赏
文章很值,打赏犒劳作者一下
相关推荐
©️2020 CSDN 皮肤主题: 博客之星2020 设计师:CY__ 返回首页

打赏

程猿薇茑

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付 29.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值