Linux 如何查看日志?

来源:知乎 → IT枫斗者 → 2021/12/23 → https://zhuanlan.zhihu.com/p/448952268

实时日志:tail -f XXX.log
搜索关键字附近日志:cat -n filename | grep "关键字"

一、下面是查看日志的常用几种命令和方式:

tail:

 -n  是显示行号;相当于 nl 命令;例子如下:
     tail -100f test.log      	实时监控100行日志;
     tail  -n  10  test.log   	查询日志尾部最后10行的日志;
     tail -n +10 test.log    	查询10行之后的所有日志。

head:

跟 tail 是相反的,tail 是看后多少行日志,而 head 是查看日志文件的头多少行,例子如下:
   	head -n 10  test.log   		查询日志文件中的头10行日志;
   	head -n -10  test.log   	查询日志文件除了最后10行的其他所有日志。

cat:

tac 是倒序查看,是 cat 单词反写;例子如下:
     cat -n test.log |grep "debug"   查询关键字的日志(常用)

vim:

1、进入 vim 编辑模式:vim filename
2、输入“/关键字”,按 enter 键查找
3、查找下一个,按 “n” 即可
   退出:按 ESC 键后,接着再输入:号时,vi 会在屏幕的最下方等待我们输入命令
   wq!  保存退出
   q!   不保存退出 

二、查看日志几种常见的应用场景

场景一:按行号查看:过滤出关键字附近的日志

 (1) cat -n test.log |grep "debug"            得到关键日志的行号。
 (2) cat -n test.log |tail -n +92|head -n 20  选择关键字所在的中间一行. 然后查看这个关键字前10行和后10行的日志;
     tail -n +92 表示查询92行之后的日志;
     head -n 20 则表示在前面的查询结果里再查前20条记录。

场景二:根据日期查询日志

(1) sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'  test.log
特别说明:
	上面的两个日期必须是日志中打印出来的日志,否则无效;
	先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该时间点。

场景三:日志内容特别多,打印在屏幕上不方便查看,分页/保存文件查看

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

(2) 使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析
    如:cat -n test.log |grep "debug"  >debug.txt
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值