zoukankan      html  css  js  c++  java
  • Linux查找日志技巧

      在日常工作中避免不了经常查日志的情况,对于较小的日志文件可以直接下载打开,但是对于比较大的日志文件比如 .out 结尾的日志文件动辄几G,大的十几G,要想直接打开查找很明显不太可能,总结了下平时经常会用到的命令,以备遗忘。

    1. 日志头部/尾部的内容输出

    tail -n 100 catalina.out

      查看日志最后100行

    tail -n 2000 catalina.out > 3030-01-01-test.txt

     将文件最后的两千行输出到名为 3030-01-01-test.txt 的文件内,若没有这个文件会新建,若这个文件有内容会覆盖。

    tail -f catalina.out

     实时输出catalina.out 的文件内容,不合适输出日志比较快的文件,ctrl+s暂停,ctrl+q继续,ctrl+c退出。

    >以上命令将 tail(尾部) 换成 head(头部) 一样适用

    补:

    tail  -n  10  test.log   查询日志尾部最后10行的日志;

    tail -n +10 test.log    查询10行之后的所有日志;

    head -n 10  test.log   查询日志文件中的头10行日志;

    head -n -10  test.log   查询日志文件除了最后10行的其他所有日志;

    2. 根据时间获取日志内容

    首先需要匹配出文件中是否有想要的两个时间点,grep '2020-01-01 10:10:10' catalina.out

    有的话,根据两个时间点获取日志,sed -n '/2020-01-01 10:10:10/,/2020-01-01 30:00:00/p'  catalina.out

    这样获取的是直接在shell中处理,可以将其输出到指定文件中, sed -n '/2020-01-01 10:10:10/,/2020-01-01 30:00:00/p'  catalina.out > 2020-08-01-test.txt

    下载查看 sz 2020-08-01-test.txt

    >以上根据时间段查看日志的方法,同样适用于查看两个关键字之间的日志

    3. 根据行号查看日志

    同上,首先需要查看关键字的行数, cat -n catalina.out |grep '关键字' ,返回的是所有关键字对应的行数

    查看关键字前后10行,比如关键字在第100行,cat -n catalina.out |tail -n +90|head -n 20

    金无足赤,人无完人,若有文章什么问题欢迎各位批评指正,共同交流,共同进步。 另,人过留名,雁过留声,少侠觉得还行的话留下个赞吧!:)
  • 相关阅读:
    Thread之六:线程创建方法
    MySQL优化技巧之四(数据库设计中的一些技巧)
    数据库设计三大范式
    分布式事务之:TCC (Try-Confirm-Cancel) 模式
    spring AOP 之五:Spring MVC通过AOP切面编程来拦截controller
    Thread之五:线程的优先级
    分布式事务之:TCC几个框架的测试情况记录
    spring AOP 之四:@AspectJ切入点标识符语法详解
    IP地址漂移的实现与原理
    高可用集群heartbeat全攻略
  • 原文地址:https://www.cnblogs.com/thePeaceOftheLord/p/13528350.html
Copyright © 2011-2022 走看看