Linux 常用查看日志命令大全

时间:2024-02-26 09:23:32

查看日志常用命令   

1、tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。

tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。

命令格式:

tail [参数] [文件]

常用参数:

  • -f 循环读取
  • -n<行数> 显示文件的尾部 n 行内容

实例:

  • tail filename.log//查询日志filename.log的最后 10 行
  • tail -f filename.log//跟踪日志filename.log 的增长情况
  • tail -100f filename.log//实时监控100行日志
  • tail  -n  10  filename.log//查询日志尾部最后10行的日志
  • tail -n +10 filename.log//查询10行之后的所有日志

PS:停止显示日志按下CTRL+C

2、head

head命令与tail命令用法相似,head命令用于查看文档的开始指定数量的字符块,默认显示文档的前 10 行,如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。

命令格式:

head [参数] [文件]

常用参数:

  • -n<行数> 显示行数

实例:

  • 显示filename.log前5行的内容

    head -5 filename.log

    head -n 5 filename.log

3、cat

cat 命令用于连接文件并打印到标准输出设备上。

命令格式:

cat [参数] [文件]

常用参数:

  • -n 或 --number:由 1 开始对所有输出的行数编号。
  • -b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
  • -E:在每行结束处显示 $。

实例:

把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:

cat -n textfile1 > textfile2

把 textfile1 和 textfile2 的文档内容加上行号(空白行不加)之后将内容附加到 textfile3 文档里:

cat -b textfile1 textfile2 >> textfile3

清空 /etc/test.txt 文档内容:

cat /dev/null > /etc/test.txt

在每行结束处显示 $

cat -E textfile1

 4、grep-待完善

最近用的比较多,后面抽空记录下常用命令参数

 

更多日志命令扩展:

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

     1)cat -n test.log |grep "debug"  得到关键日志的行号

     2)cat -n test.log |tail -n +92|head -n 20  选择关键字所在的中间一行. 然后查看这个关键字92行后和前20行的日志:

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

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

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

      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