当前位置 主页 > 服务器问题 > Linux/apache问题 >

    Linux中查看文本的小技巧(超实用!)

    栏目:Linux/apache问题 时间:2019-10-30 10:25

    前言

    日常开发中,我们经常需要在服务器上进行各种文本,日志的查看操作,本文主要对常用的文本,日志查看技巧进行了一番总结和归纳,方便大家收藏起来后续查看使用:

    tail命令查看日志信息

    实时监控日志:

    tail -f filename

    实时监控10行日志信息:

    tail -10f filename

    查看日志尾部的最后100行日志信息:

    tail -n 100 filename

    查看日志100行之后的日志信息:

    tail -n +100 filename

    head命令查看文本信息

    查看文本开始的头100行信息:

    head -n 100 filename

    查看文本最后100行信息以上的内容

    head -n -100 filename

    cat命令查看文本信息

    查看全部文本内容

    cat filename

    查看文本的中间某些行范围之间的内容,例如说查看文本文件100-120行之间的内容:

    cat -n filename |tail -n +100|head -n 20

    不过使用个人不是太喜欢使用这种命令来进行文本的定位查看,因为查看起来过于麻烦,文章下边会有更加简便的命令操作。

    tac查看文本信息

    和cat命令有点相反,cat命令更多的是从头部往尾部的顺序展现文本内容,而tac命令正好是从文本的尾部往头部展现日志内容

    tac filename

    例如说,我们通过cat命令和tac命令同时来查看一段相同的内容:

    通过不同命令来展示文本,会发现文本的内容顺序有所相反。

    搜索文本内容

    grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

    grep命令的常用方式:

    在多个文件中查找:

    grep "match_pattern" file_1 file_2 file_3 ...

    标记匹配颜色 --color=auto 选项:

    grep "match_pattern" file_name --color=auto 
    
    //【这里的color项可以根据文档说明进行选择always,never,auto三种】

    输出除之外的所有行 -v 选项:

    grep -v "match_pattern" file_name

    使用正则表达式 -E 选项:

    grep -E "[1-9]+"

    只输出匹配到的内容选项:

    grep -o -E "[a-z]+." line

    统计文件或者文本中包含匹配字符串的行数 -c 选项:

    grep -c "text" file_name

    输出包含匹配字符串的行数 -n 选项:

    grep "text" -n file_name

    在了解了grep命令能完成的功能点之后,我们可以在实际工作中灵活运用。

    有些时候我们也会遇到一些希望查看某个时间段日志信息的需要,这个时候可以利用grep这条命令来实现这个功能,例如说希望查看2019-08-06 22点这一个小时以内的日志信息,那么可以输入以下命令:

     grep '2019-08-06 22' filename

    这样可以快速定位到你所希望查看的信息范围。

    由于grep命令是可以接收standard input的数据,因此我们通常可以借助管道命令符“ | ”的帮助,在一些标准输出进行中进行查找操作。