cosmo

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1.tail 

  tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ] 
  参数解释: 
    -f 该参数用于监视File文件增长
    -c Number 从 Number 字节位置读取指定文件
    -n Number 从 Number 行位置读取指定文件
    -m Number 从 Number 多字节字符位置读取指定文件,比方你的文件假设包括中文字,假设指定-c参数,可能导致截断,但使用-m则会避免该问题
    -b Number 从 Number 表示的512字节块位置读取指定文件
    -k Number 从 Number 表示的1KB块位置读取指定文件
    File 指定操作的目标文件名称 

2.head

  head 仅仅显示前面几行

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

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

3.grep

  grep [options]

  主要参数:

  [options]主要参数:

    -c:只输出匹配行的计数

    -I:不区分大 小写(只适用于单字符)

     -h:查询多文件时不显示文件名

     -l:查询多文件时只输出包含匹配字符的文件名

     -n:显示匹配行及 行号

     -s:不显示不存在或无匹配文本的错误信息

     -v:显示不包含匹配文本的所有行

  pattern正则表达式主要参数:

    : 忽略正则表达式中特殊字符的原有含义

    ^:匹配正则表达式的开始行

     $: 匹配正则表达式的结束行

    <:从匹配正则表达 式的行开始

     >:到匹配正则表达式的行结束

     [ ]:单个字符,如[A]即A符合要求 

     [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求

    。:所有的单个字符

    - :有字符,长度可以为0。

4.sed

  sed -n '5,10p' service.log这样你就可以只查看service.log的第5行到第10行。

5.cat

  cat主要有功能:

    1.一次显示整个文件。$ cat service.log

    2.从键盘创建一个文件。$ cat > filename 只能创建新文件,不能编辑已有文件.

    3.将几个文件合并为一个文件: $cat file1 file2 > file

  参数:

     -n 或 --number 由 1 开始对所有输出的行数编号

     -b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号

     -s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行

    -v 或 --show-nonprinting

    例如:

      把 test的档案内容加上行号后输入 test1 这个档案里 cat -n test> test2

      把test 和 test1的档案内容加上行号(空白行不加)之后将内容附加到 test2里。 cat -b testtest1>> test2

      把test.txt文件扔进垃圾箱,赋空值test.txt cat /dev/null > /etc/test.txt

    注意:>意思是创建,>>是追加。千万不要弄混了。

6.tac (反向列示)

  tac 是将 cat 反写过来,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行连续显示在萤幕上

7.混合使用命令

(1)tail service.log -n 100 -f  
    查看底部即最新100条日志记录,并实时刷新      

(2)grep '关键字' | tail service.log -C 10   
    查看字符‘关键字’前后10条日志记录, 大写C  

(3)cat -n service.log |tail -n +30|head -n 10
    tail -n +30表示查询30行之后的日志  
    head -n 10则表示在前面的查询结果里再查前10条记录  

 

posted on 2018-06-06 14:32  【cosmo】  阅读(884)  评论(0编辑  收藏  举报