• 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

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

  • 相关阅读:
    基于SSH的商城管理系统
    Pytorch笔记之分类
    ClamAV 部署
    力扣爆刷第97天之hot100五连刷71-75
    网络安全(黑客)自学
    基于Matlab实现多个数字水印案例(附上源码+数据集)
    redis实现分布式锁(包含代码以及分析利弊)
    关于Qt 加载网页(二) QWebenginePage和QWebengineView傻傻分不清楚
    基于冲突搜索的多机器人路径规划(Matlab代码实现)
    ROS常见问题 | 虚拟机打开RVIZ闪退出错
  • 原文地址:https://blog.csdn.net/weixin_42648692/article/details/126287004