linux日志查看及定位

作者: freelands | 来源:发表于2017-07-28 13:46 被阅读636次
    locate problem.png

    因为在生产环境会遇到很多问题,那么最快的定位方式莫过于去看日志,我们都知道服务器每天会产生大量的日志,那么如何快速的定位也就是最关键的。

    • tail
    顾名思义,tail就是尾部的意思,默认会显示日志的最后10行记录
    
    tail -n 100 filename   
    -n 可以用来指定行数  n也就是number的意思
    
    tail -f filename 
    -f  会把实时产生的日志追加到标准输出中来,也就是我们的终端 
    f 我认为是flush的缩写  也就是刷新的意思 
    
    • less
    less 可以对文件进行分页,
    less filename
    可以用/ 去匹配过滤信息
    然后n是匹配下一个 
    N匹配上一个 
    b 是上一页 
    d是下一页
    
    • vim
    最开始我就是用vim去查看日志的
    慢慢觉得vim有点笨重
    vim 也是用 / 去过滤
    n 匹配next
    N 匹配上一个
    
    • grep
      global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
    echo "heiqie1" >> 1.txt
    echo "heiqie2" >> 2.txt
    echo "heiqie3" >> 3.txt
    echo "test" >> 4.txt
    
    #执行结果
    cat 1.txt 2.txt 3.txt  4.txt | grep 'heiqie'
    heiqie1
    heiqie2
    heiqie3
    
    
    #加上-v参数是反向匹配
    $ cat 1.txt 2.txt 3.txt  4.txt | grep -v  'heiqie'
    test
    
    #加上-n参数是显示该条记录所在的行数
    $ cat 1.txt 2.txt 3.txt  4.txt | grep -vn  'heiqie'
    4:test
    
    # -c参数是统计符合匹配的一共有多少行
    $ cat 1.txt 2.txt 3.txt  4.txt | grep -c  'heiqie'
    3
    
    # -E参数是使用正则表达式匹配 
    # ^h表示以h开头 
    # \w 表示匹配包括下划线的任何单词字符 
    # + 表示匹配\w一次或者多次 
    $ cat 1.txt 2.txt 3.txt  4.txt | grep -E  '^h\w+'
    heiqie1
    heiqie2
    heiqie3
    
    # 1$表示以1结尾的
    $ cat 1.txt 2.txt 3.txt  4.txt | grep -E  '^h\w+1$'
    heiqie1
    
    

    相关文章

      网友评论

        本文标题:linux日志查看及定位

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