每日linux命令学习-head命令和tail命令

    本节主要学习了linux文件浏览的相关命令,包括cat、less、more、read、tail等,由于本人经常使用cat、less、more命令,已经较为熟悉,所以本节重点学习head命令和tail命令。head与tail命令,如其名字的意义一样,分别用来显示文件开头或结尾某个数量的文字区块。

1. head命令

head命令用来显示档案的开头至标准输出中,默认head命令会打印其相应文件的开头10行。

命令格式:

head [参数] [文件名]

命令参数:

-q 隐藏文件名

-v 显示文件名

-c <字节数> 显示字节数

-n <行数>   显示行数

使用实例:

实例1:显示文件的前k行(k>0)

命  令:head -n k filename

实例2:显示文件的前m个字节(m>0)

命  令:head -c m filename

实例3:显示文件除最后k行以外的全部内容(k>0)

命  令:head -n -k filename

实例4:显示文件除最后m个字节以外的全部内容(m>0)

命  令:head -c -m filename

2.tail命令

tail命令用来显示文件的结尾内容至标准输出中,默认显示文件最后10行。

tail命令比较常用的参数是-f,命令tail -f filename会将文件最尾部的内容显示在屏幕上,并且会不断刷新,使用户始终看到最新的文件内容,一般可以与参数-s搭配使用,表示屏幕对显示文件的定时更新。

命令格式:

tail [参数] [文件名]

命令参数:

-f 循环读取

-v,--verbose 总是输出给出文件名的首部
     --help       显示帮助信息后退出
     --version   输出版本信息后退出

-s,--sleep-interval=S 输与-f合用,表示每次刷新的间隔休眠时间S秒

-q, --quiet, --silent 从不输出给定文件名的首部

     --retry              即使tail开始时就不能访问或者在tail运行后不能访问,也仍然不停地尝试打开文件. 只与-f合用时有用

-n <行数>     输出行数

-c <字节数>  输出的字节数

注:如果行数或字节数的第一个字符为“+”,则表示从每个文件的第n行或第c个字节开始显示,否则显示指定文件的最后n行或最后c个字节。

     行数或字节数可以有一个倍数前缀:b表示512,k表示1024,m表示1048576(即1M)。

-r  逆序显示,只有与-n搭配使用才有效,否则系统会将其忽略。

使用实例:

实例1:循环查看文件内容

命  令:tail -f filename    #通常搭配有-s参数,表示输出定时更新

实例2:显示文件最后k行内容

命  令:tail -n k filename

实例3:从第k行开始显示文件内容

命  令:tail -n +k filename

实例4:逆序显示文件最后k行内容

命  令:tail -r -n k filename      #-r参数必须与-n参数搭配使用,否则无效

实例5:显示多个文件的尾部内容

命  令:tail filename1 filename2...

说  明:指定多个文件时,会显示每个文件的文件名称,再显示该文件的尾部内容

说明:

经过我的试验,发现tail -F功能的强大,它等同于--follow=name --retry。如果跟踪的文件被移动或者改名后, 还想继续tail它, 可以使用这个选项,而不是-f。

3. 补充

 与head、tail命令功能相似的命令还有:

1)cat:从第一行开始显示文件内容

2)tac:从最后一行开始显示文件内容

3)more:分页显示文件内容

4)less:功能、用法与more相似,但是支持向前翻页

5)od:以二进制方式显示文件内容(不常用)

 

原文地址:https://www.cnblogs.com/yy20141204bb/p/4935182.html