【Linux】查看日志相关命令总结

【引言】

排查线上环境问题,少不了去线上查日志。而使用什么命令,能快速准确地查到我们需要查找地日志信息,也是我们需要掌握的一项技能。

【学习】

Linux查看命令有多种:tail,head,cat,tac,more

(一) tail 命令

  1. 参数:

    1)-f 循环读取
    2)-q 不显示处理信息
    3)-v 显示详细的处理信息
    4)-c<数目> 显示的字节数
    5)-n<行数> 显示行数

  2. 应用:

命令含义
tail -f test.log查看实时日志
tail -100f test.log查看最后100行日志记录
tail -n 10 test.log查询日志尾部最后10行的日志
tail -n +10 test.log查询10行之后的所有日志
tail -fn 100 test.log循环实时查看最后100行记录

(二) head 命令

  1. 功能

    跟tail是相反的,tail是查看后多少行日志

  2. 应用

命令含义
head -n 10 test.log查询日志文件中的前10行日志
head -n -10 test.log查询日志文件除了最后10行的其他所有日志

(三) cat 命令

  1. 功能

    1)一次显示整个文件。 cat filename
    2)创建一个文件。 cat > filename
    3)将几个文件合并为一个文件。 cat file1 file2 > file

  2. 参数:

    1)-n 由1开始对所有输出的行数编号
    2)-b 和-n相似,只不过对于空白行不编号
    3)-s 当遇到有连续两行以上的空白行,就代换为一行的空白行
    4)-c<数目> 显示的字节数
    5)-n<行数> 显示行数

  3. 应用

    1)cat test.log | tail -n 1000 #输出test.log 文件最后1000行

    2)cat -n test.log |grep “debug” #得到关键日志的行号

    3)cat filename | tail -n +3000 | head -n 1000 #从第3000行开始,显示1000行。即显示3000~3999行

    4)cat filename| head -n 3000 | tail -n +1000 #显示1000行到3000行

    5)cat -n textfile1 > textfile2 #把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里

    6)cat -b textfile1 textfile2 >> textfile3 #把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里

(四) tac 命令

  1. 功能

    tac是将cat反写过来,它的功能跟cat相反,cat是由第一行到最后一行连续显示,而tac是由最后一行到第一行反向显示。

(五) more 命令

  1. 功能

    类似cat,不过以一页一页形式显示。基本指令按空白键(space)往下一页显示,按返回键(back)往上一页显示,还有字符搜索功能(与vi相似)

  2. 参数

    1)-num 一次显示的行数

    2)-d 提示使用者,在画面下方显示 [Press space to continue, ‘q’ to quit.] ,如果使用者按错键,则会显示 [Press ‘h’ for instructions.] 而不是 ‘哔’ 声

    3)-l 取消遇见特殊字元 ^L 时会暂停的功能

    4)-f 计算行数时,以实际上的行数,而非自动换行过后的行数

    5)-p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容

    6)-c 跟 -p 相似,不同的是先显示内容再清除其他旧资料

    7)-s 当遇到有连续两行以上的空白行,就代换为一行的空白行

    8)-u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)

    9)+/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示

    10)+num 从第 num 行开始显示

  3. 应用

命令含义
more -s test.log逐页显示日志,如有连续两行以上空白行则以一行空白行显示
more +20 test.log从第 20 行开始显示日志内容

(六) grep 命令

  1. 功能:

    上面几个命令都是用在查找文件方便,而在查找文件时,我们往往需要通过某些关键字查找,grep命令就可以帮助我们实现快速查找。

  2. 应用

    1)more joint.log | grep ‘60007746’ #根据某退货号查询日志
    在这里插入图片描述
    很多时候,我们都需要看到上下几行的日志,可以通过加相关参数实现。

    2)more joint.log | grep -5 ‘60007746’ #打印匹配行的前后5行

    3)more joint.log | grep -C 5 ‘60007746’ #打印匹配行的前后5行

在这里插入图片描述

4)more joint.log | grep -A 5 ‘60007746’ #打印匹配行的后5行
在这里插入图片描述
5)more joint.log | grep -B 5 ‘60007746’ #打印匹配行的前5行在这里插入图片描述

【总结】

熟悉常用的Linux命令也是我们必须要掌握的一项技能,这样在查找问题过程中也能更加高效速度。

  • 37
    点赞
  • 495
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值