• Linux下查看日志用到的常用命令(一)


    首选,如何查看日志:

     很多初级测试人员,在进行执行测试用例这个步骤时,发现bug,不能更加的准确去定位bug,在这样的情况下就可以打开Linux服务器,敲命令查看操作进行中的实时日志,当系统报错时,可以截图日志在缺陷管理系统中,开发人员就知道什么地方错了,操作步骤一定要写明确。

           1、下载xshell,百度xshell进行下载即

          2、新建会话,使用账号密码登录你使用系统的服务器,进行连接。

    3、连接成功后,敲击命令cd /xxx(切换到当前工作命令);继续敲ls,列出文件下的所有文件,找到当前系统存放的那个文件夹中;继续cd zhgl-server;

    4、将会显示一个logs

    5、ls -lrt,显示一下日志有多少条

    6、cd logs,进入logs文件夹,ls查询每天的的文件,然后敲命令,,tail -f localhost_access_log.2018-12-11.txt(当前时间)今天的实时日志,操作一下系统,就会报出相应的日志

    那么查看日志经常还用到哪些命令呢?

    杀僵尸进程 部分程序员,肯定喜欢下面命令:

      ps -ef | grep java (先查java进程ID)

      kill -9  PID(生产环境谨慎使用)

    kill、killall、pkill命令的区别

      kill:通过pid来杀死进程

      killall (killall [参数] [进程名]):Linux系统中的killall命令用于杀死指定名字的进程(kill processes by name)。我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀死的进程,我们还需要在之前使用ps等命令再配合grep来查找进程,而killall把这两个过程合二为一,是一个很好用的命令。  

      pkill:pkill 和killall 应用方法差不多,也是直接杀死运行中的程式;如果你想杀掉单个进程,请用kill 来杀掉。例子:pkill -9 firefox

    1.查看日志常用命令

        tail:  

           -n  是显示行号;相当于nl命令;例子如下:

                tail -100f test.log      实时监控100行日志

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

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

        head:  

            跟tail是相反的,tail是看后多少行日志;例子如下:

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

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

        cat: 

            tac是倒序查看,是cat单词反写;例子如下:

                cat -n test.log |grep "debug"   查询关键字的日志

    2. 应用场景一:按行号查看---过滤出关键字附近的日志

         1)cat -n test.log |grep "debug"  得到关键日志的行号

      2)通常查找出错误日志 cat error.log | grep 'nick' , 这时候我们还有个需求就是输出当前这个日志的前后几行:

        cat error.log | grep -B 5 'nick' 显示nick及前5行

        cat error.log | grep -A 5 'nick' 显示nick及后5行

        cat error.log | grep -C 5 'nick' 显示file文件里匹配nick字串那行以及上下5行

        cat error.log | grep -n -B10 -A10 5 'nick' 显示file文件里匹配nick字串前后10行 

    3. 应用场景二:选取日志中特定范围进行分析

       1)cat -n test.log |tail -n +1000|head -n 20   从第1000行开始,显示20行

                tail -n +1000表示查询1000行之后的日志

                head -n 20 则表示在前面的查询结果里再查前20条记录

      2)cat catalina.out | head -n 1400| tail -n +1350  显示1350行到1400行 (实现原理都差不多,就是通过语法糖)

     (1)按日期截取 :一般在日志系统中都会记录打印日志的时间,通常我们非常需要查找指定时间端的日志:

            sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'  test.log

            特别说明:该命令中的两个日期值必须是日志文件中包含的值,否则该命令无效.; 先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该 时间点

     (2)按行数截取

        sed -n ‘10000,20000p’ test.log                

          sed -i '/关键词/d' catalina.out  删除包含关键词的行

    4.应用场景三:日志内容特别多,打印在屏幕上不方便查看

        (1)使用moreless命令,

               如:cat -n test.log |grep "debug" |more     这样就分页打印了,通过点击空格键翻页

        (2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析

                如:cat -n test.log |grep "debug"  >debug.txt

    5:使用管道进行and or条件处理

      and 使用管道实现   例如:  grep -n '日志排查' test.log | grep '日志'

      or 用-E   例如:grep -n -E '日志排查|hello' test.log  满足两个关键字的都可以找出来

    志之所趋,无远弗届,穷山距海,不能限也
  • 相关阅读:
    Python爬虫之记录一次下载验证码的尝试
    Python之学会测试,让开发更加高效(一)
    NLP(二十八)多标签文本分类
    NLP(二十七)开放领域的三元组抽取的一次尝试
    NLP(二十六)限定领域的三元组抽取的一次尝试
    Numpy之数据保存与读取
    TortoiseGit的首次使用
    NLP(二十五)实现ALBERT+Bi-LSTM+CRF模型
    NLP(二十四)利用ALBERT实现命名实体识别
    NLP(二十三)序列标注算法评估模块seqeval的使用
  • 原文地址:https://www.cnblogs.com/feixiangtaiyang/p/15529327.html
Copyright © 2020-2023  润新知