• Linux查看日志的几种命令(tail、cat、grep、head、sed...)


    第一种: tail命令

    tail 查看实时变化的日志(比较吃内存)
    退出tail命令:Ctrl+c
    用法:
    tail --参数 – 文件名

    参数列表

    -f循环读取
    -q不显示处理信息
    -v显示详细的处理信息
    -c<数目> 显示的字节数
    -n<行数>显示行数 (相当于nl命令)
    –pid=PID与-f合用,表示在进程ID,PID死掉之后结束.
    -q, –quiet, –silent从不输出给出文件名的首部
    -s, –sleep-interval=S与-f合用,表示在每次反复的间隔休眠S秒

    常用用法示例:

    用法作用
    1. tail -f filename默认最后10行,相当于增加参数 -n 10
    2. tail -n 20 filename显示filename最后20行
    3. tail -n +5 filename从第5行开始显示文件

    第二种: cat命令

    cat命令搜索关键字附近的日志

    常用用法:

    查看log.log前200行

    cat log.log | head -n 200
    
    • 1

    查看test.log倒数200行

    cat  test.log | tail -n 200
    
    • 1

    查看test.log中包含http的所有行

    cat  test.log | grep "http"
    
    • 1

    查看test.log中包含http的所有行,并显示前后行

    cat -n test.log | grep -C 5 “http” 		(匹配字串那行以及前后5行)
    
    cat -n test.log | grep -B 5 “http” 		(匹配字串那行以及前5行)
    
    cat -n test.log | grep -A 5 “http” 		(匹配字串那行以及后5行)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    第三种 grep

    grep命令,文本搜索命令,可以使用正则表达式搜索文本
    用法示例:

    查看test.log中包含http的所有行(-i忽略大小写)

    grep -i "http" ./test.log
    
    • 1

    第四种 sed

    SED 查看某时间段日志

    sed -n '/2022-06-02 13:10:30/,/2022-06-02 13:10:40/p' test.log
    
    • 1

    某时间端日志输出到指定文件中

    sed -n '/2022-06-02 13:10:30/,/2022-06-02 13:10:40/p' test.log > test20220602.log
    
    • 1

    当然还可以使用vi文本编辑命令,less或者more命令进行查看
    还可以
    正向查找:

    /关键字 按n键把光标移动到下一个符合条件的地方
    
    • 1

    反向查找:

    ?关键字  按shift+n 键,把光标移动到下一个符合条件的
    
    • 1

    日志文件本身还是一个文件,检索命令,编辑命令,查找命令都是可以进行操作的。

  • 相关阅读:
    JAVA三元表达式详解
    国家知识产权专利申请的主要流程是什么?
    灰色和测试环境打包串台
    brew切换数据源为阿里源
    [Android]设置尺寸时的单位选择
    maven父工程
    c语言动态内存分布
    组合式函数(Composables)解决了mixins的哪些痛点?
    mysql的判断语句
    《快速掌握QML》第一章 初识QML
  • 原文地址:https://blog.csdn.net/weixin_42648692/article/details/126287004