• 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

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

  • 相关阅读:
    .NET周刊【8月第3期 2023-08-20】
    利用opencv 做一个简单的人脸识别
    git 将本地分支与远程master主分支合并
    【FreeRTOS(三)】任务状态
    tp6使用redis消息队列
    电商通用(二)
    SoviChart数据可视化:散点图(Scatter plot)
    创新生态,智能升级 | 易知微数字孪生智慧园区,构筑技术与产业发展的“智慧融合体”
    从零开始,开发一个 Web Office 套件(14):复制、粘贴、剪切、全选
    ES6 Iterator 和 for...of 循环
  • 原文地址:https://blog.csdn.net/weixin_42648692/article/details/126287004