美文网首页
Linux查看日志命令

Linux查看日志命令

作者: LandHu | 来源:发表于2019-09-19 08:46 被阅读0次
    • tail
    tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ] 
    -f 该参数用于监视File文件增长。 
    -c Number 从 Number 字节位置读取指定文件 
    -n Number 从 Number 行位置读取指定文件。 
    -m Number 从 Number 多字节字符位置读取指定文件,比方你的文件假设包括中文字,假设指定-c参数,可能导致截断,但使用-m则会避免该问题。 
    -b Number 从 Number 表示的512字节块位置读取指定文件。 
    -k Number 从 Number 表示的1KB块位置读取指定文件。 
    File 指定操作的目标文件名称 
    上述命令中,都涉及到number,假设不指定,默认显示10行。
    Number前面可使用正负号,表示该偏移从顶部还是从尾部開始计算。 
    
    • head
    head -n 10  test.log   查询日志文件中的头10行日志;  
    head -n -10  test.log   查询日志文件除了最后10行的其他所有日志; 
    
    • grep
    -c:只输出匹配行的计数。  
    -I:不区分大 小写(只适用于单字符)。  
    -h:查询多文件时不显示文件名。  
    -l:查询多文件时只输出包含匹配字符的文件名。  
    -n:显示匹配行及 行号。  
    -s:不显示不存在或无匹配文本的错误信息。  
    -v:显示不包含匹配文本的所有行。  
    pattern正则表达式主要参数:  
    : 忽略正则表达式中特殊字符的原有含义。  
    ^:匹配正则表达式的开始行。  
    $: 匹配正则表达式的结束行。  
    <:从匹配正则表达 式的行开始。  
    >:到匹配正则表达式的行结束。  
    [ ]:单个字符,如[A]即A符合要求 。  
    [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。  
    。:所有的单个字符。  
     - :有字符,长度可以为0。
    
    cat service.log | grep 13888888888 查询关键字
    
    • sed
    sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。 
    
    • cat
    cat主要有三大功能:  
    1.一次显示整个文件。$ cat filename  
    2.从键盘创建一个文件。$ cat > filename   
      只能创建新文件,不能编辑已有文件.  
    3.将几个文件合并为一个文件: $cat file1 file2 > file  
    4. cat service.log | wc -l 统计日志多少行
    
    参数:  
    -n 或 --number 由 1 开始对所有输出的行数编号  
    -b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号  
    -s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行  
    -v 或 --show-nonprinting  
    例:  
    把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里  
    cat -n textfile1 > textfile2  
    
    把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。  
    cat -b textfile1 textfile2 >> textfile3  
    
    把test.txt文件扔进垃圾箱,赋空值test.txt  
    cat /dev/null > /etc/test.txt   
    注意:>意思是创建,>>是追加。千万不要弄混了。
    
    • tac (反向列示)

    • 混合使用

    A.  tail web.2016-06-06.log -n 300 -f  
        查看底部即最新300条日志记录,并实时刷新      
    
    B.  grep 'nick' | tail web.2016-04-04.log -C 10   
        查看字符‘nick’前后10条日志记录, 大写C  
    
    C.  cat -n test.log |tail -n +92|head -n 20  
        tail -n +92表示查询92行之后的日志  
        head -n 20 则表示在前面的查询结果里再查前20条记录
    
    D.  sed -n "29496,29516p" service.log:从29496行开始检索,到29516行结束
        cat -n service.log | tail -n +29496 | head -n 20:从29496行开始检索,往前推20条
    
        如果关键字不太准确(日志输出的记录太多了),我们可以使用more命令来浏览或者输出到文件上再分析:
        cat service.log | grep 13 |more :将查询后的结果交由more输出
        cat service.log | grep 13 &gt; /home/sanwai/aa.txt  将查询后的结果写到/home/sanwai/aa.txt文件上
    

    技术讨论 & 疑问建议 & 个人博客

    版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议,转载请注明出处!

    相关文章

      网友评论

          本文标题:Linux查看日志命令

          本文链接:https://www.haomeiwen.com/subject/waiqyctx.html