• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    一天一个shell命令 linux文本操作系列-head,tail命令详解

    head命令中文介绍:

    用法:head [选项]... [文件]...
    将每个指定文件的头10 行显示到标准输出。
    如果指定了多于一个文件,在每一段输出前会给出文件名作为文件头。
    如果不指定文件,或者文件为"-",则从标准输入读取数据。
    
    长选项必须使用的参数对于短选项时也是必需使用的。
     -c, --bytes=[-]K	显示每个文件的前K 字节内容;
    			如果附加"-"参数,则除了每个文件的最后K字节数据外
    			显示剩余全部内容
     -n, --lines=[-]K	显示每个文件的前K 行内容;
    			如果附加"-"参数,则除了每个文件的最后K 行外显示
    			剩余全部内容
     -q, --quiet, --silent	不显示包含给定文件名的文件头
     -v, --verbose		总是显示包含给定文件名的文件头
       --help		显示此帮助信息并退出
       --version		显示版本信息并退出
    
    K 后面可以跟乘号:
    b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,
    GB 1000*1000*1000, G 1024*1024*1024, 对于T, P, E, Z, Y 同样适用。

    tail命令详解

    用法:tail [选项]... [文件]...
    显示每个指定文件的最后10 行到标准输出。
    若指定了多于一个文件,程序会在每段输出的开始添加相应文件名作为头。
    如果不指定文件或文件为"-" ,则从标准输入读取数据。
    
    长选项必须使用的参数对于短选项时也是必需使用的。
     -c, --bytes=K		输出最后K 字节;另外,使用-c +K 从每个文件的
    			第K 字节输出
     -f, --follow[={name|descriptor}]
    		即时输出文件变化后追加的数据。
    			-f, --follow 等于--follow=descriptor 
     -F		即--follow=name --retry
     -n, --lines=K	输出最后K 行,代替最后10 行;使用-n +K 从每个文件的第K 字节输出
       --max-unchanged-stats=N
    			使用--follow=name, 重新打开一个在N(默认为5)
    				次迭代后没有改变大小的文件来看它是否被解除连
    				接或重命名(这是循环日志文件的通常情况)。
    				由于有inotify,这个选项很少使用。
       --pid=PID		同 -f 一起使用,当 PID 所对应的进程死去后终止
     -q, --quiet, --silent	不输出给出文件名的头
       --retry		即使目标文件不可访问依然试图打开;在与参数
    			--follow=name 同时使用时常常有用。
     -s, --sleep-interval=N  with -f, sleep for approximately N seconds
                   (default 1.0) between iterations.
                   With inotify and --pid=P, check process P at
                   least once every N seconds.
     -v, --verbose      always output headers giving file names
       --help		显示此帮助信息并退出
       --version		显示版本信息并退出
    
    如果字节数或行数K 的第一个字符是"+",输出从文件开始第K 个项目,否则输出文件
    最后K 个项目。K 可以使用一下几种单位之一:
    b 512,kB 1000,K 1024,MB 1000*1000,M 1024*1024,
    GB 1000*1000*1000,G 1024*1024*1024,以及T,P,E,Z,Y。
    
    如果您希望即时追查一个文件的有效名称而非描述内容(例如循环日志),默认
    的程序动作并不如您所愿。在这种场合可以使用--follow=name 选项,它会使
    tail 定期追踪打开给定名称的文件,以确认它是否被删除或被其它某些程序重新创建过。

    head:  打印文件的前10行(默认)
    tail:     打印文件的后10行(默认)

    如果你是个典型的开发或者部署人员,是不是觉得开始亲切起来。我们平时用的最多的命令

    $tail -f  catalina.out 

    $head

    实例:

    1. 打印head.txt, tail.txt的前10行

    $head head.txt tail.txt

    复制代码 代码如下:

     ==> head.txt ==
    head.txt内容

    ==> tail.txt ==

    tail.txt内容

    2.  打印 1K的内容

    $head –c1K head.txt

    3.  打印前5行内容

    $head -n5 head.txt

    4.  打印出最后5行之外的所有行

    $head -n -5 head.txt

    这里-5表示负5
    解读 --help

    复制代码 代码如下:

    用法:head [选项]... [文件]...
    将每个指定文件的头10 行显示到标准输出。
     如果指定了多于一个文件,在每一段输出前会给出文件名作为文件头。
     如果不指定文件,或者文件为"-",则从标准输入读取数据。
    长选项必须使用的参数对于短选项时也是必需使用的。
    -c, --bytes=[-]K         显示每个文件的前K 字节内容;
     如果附加"-"参数,则除了每个文件的最后K字节数据外
     显示剩余全部内容
    -n, --lines=[-]K           显示每个文件的前K 行内容;
     如果附加"-"参数,则除了每个文件的最后K 行外显示
     剩余全部内容
    -q, --quiet, --silent       不显示包含给定文件名的文件头
    -v, --verbose               总是显示包含给定文件名的文件头
    --help                          显示此帮助信息并退出
    --version                     显示版本信息并退出
    K 后面可以跟乘号: 
    b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,
     GB 1000*1000*1000, G 1024*1024*1024, 对于T, P, E, Z, Y 同样适用。

    解读:

    这里唯一注意:如果不指定文件,或者文件为"-",则从标准输入读取数据。

    $tail

    实例:

    1.打印一个文件最后10行

    $tail tail.txt

    2.跟踪日志,打印文件最后几行,并且保持读取追加数据

    tail -f tail.txt

    解读--help

    用法:tail [选项]... [文件]... 
    显示每个指定文件的最后10 行到标准输出。 
     若指定了多于一个文件,程序会在每段输出的开始添加相应文件名作为头。 
     如果不指定文件或文件为"-" ,则从标准输入读取数据。 
    长选项必须使用的参数对于短选项时也是必需使用的。 
    -c, --bytes=K      输出最后K 字节;另外,使用-c +K 从每个文件的第K 字节输出 
    -f, --follow[={name|descriptor}]  即时输出文件变化后追加的数据。 
    -F            即--follow=name --retry 
    -n          --lines=K 输出最后K 行,代替最后10 行;
    span style="color: #000000">-n +K  从每个文件的第K 字节输出
    --max-unchanged-stats=N
         使用--follow=name, 重新打开一个在N(默认为5) 次迭代后没有改变大小的文件来看它是否被解除连 接或重命名(这是循环日志文件的通常情况)。 由于有inotify,这个选项很少使用。 
    --pid=PID       同 -f 一起使用,当 PID 所对应的进程死去后终止 
    -q              --quiet, --silent      不输出给出文件名的头 
    --retry           即使目标文件不可访问依然试图打开;在与参数 
    --follow=name       同时使用时常常有用。 
    -s             --sleep-interval=N with -f, sleep for approximately N seconds (default 1.0) between iterations. With inotify and--pid=P, check process P at least once every N seconds. 
    -v          --verbose always output headers giving file names 
                --help 显示此帮助信息并退出 
                 --version 显示版本信息并退出 
     如果字节数或行数K 的第一个字符是"+",输出从文件开始第K 个项目,否则输出文件 
     最后K 个项目。K 可以使用一下几种单位之一: 
    b 512,kB 1000,K 1024,MB 1000*1000,M 1024*1024, 
     GB 1000*1000*1000,G 1024*1024*1024,以及T,P,E,Z,Y。

    解读:

    1. 区别-f 和-F

    借网上一例子:
    窗口1 输入 

    $while [ "true" ] ; do date >>test.log; sleep 1 ; done;


    #每隔一秒传入一个日期到test.log

    窗口2 输入

    $tail -f test.log

    窗口3 输入

    $rm test.log

    此时窗口2 则停止打印,而test.log已经重新生成

    如果采用-F的形式,也会重新生成一个新的test.log,但会自动重新读取 

    收尾

    tail和head是两个非常常用的命令,熟练掌握方便查看文件内容。两个很简单,也很相似,所以放在一起写出来。

    您可能感兴趣的文章:
    • 一天一个shell命令 linux文本内容操作系列-awk命令详解
    • 一天一个shell命令 linux文本内容操作系列-cut命令详解
    • 使用Linux正则表达式灵活搜索文件中的文本
    • 一天一个shell命令 linux文本操作系列-touch命令用法
    • 一天一个shell命令 linux文本操作系列-diff命令详解
    • 一天一个shell命令 linux文本内容操作系列-grep命令详解
    • Linux使用文本编辑器vi常用命令
    • 详解Linux文本文件与WIN文本文件换行格式转换命令
    • 一天一个shell命令 linux文本操作系列-wc命令详解
    • Linux中查看文本的小技巧(超实用!)
    上一篇:一天一个shell命令 linux文件操作系列-ln命令详解
    下一篇:一天一个shell命令 linux文本操作系列-wc命令详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    一天一个shell命令 linux文本操作系列-head,tail命令详解 一天,一个,shell,命令,linux,