当前位置:C++技术网 > 资讯 > Linux的常用Shell命令新手入门:15 文件操作命令-查看文本文件命令组6

Linux的常用Shell命令新手入门:15 文件操作命令-查看文本文件命令组6

更新时间:2016-09-14 10:42:05浏览次数:1+次

查看文本文件内容:摘要查看head和tail

    如果我们只想快速查看文件的开头或者结尾的若干行或者若干个字节,如果是大文件,对于cat,效果很不理想。cat一次性显示所有内容,经常内容太多,就看不到开头了。使用分页查看more或less是比较合适的。但是如果你只想查看文件开头几个字节或者几行、结尾的几个字节或者几行,分页查看还是差强人意了。要方便的实现,就是即将介绍的head和tail命令了。
    head和tail可以提取开头几个字节或者几行和结尾几个字节或几行,然后显示出来,没有多余的内容。

语法:
head [选项] 文件名
tail [选项] 文件名

选项:

-v :verbose(啰嗦的),显示更多详细信息,这里显示的是文件名。如下图所示:

verbose(啰嗦的),显示更多详细信息,这里显示的是文件名


-c : count(计数),按字节来计数。head命令显示的是前几个字节内容,tail显示的是后几个字节的内容。

用法:head -c 字节数值 文件名

用法:tail -c 字节数值 文件名

-c : count(计数),按字节来计数。head命令显示的是前几个字节内容,tail显示的是后几个字节的内容。

    从上图可以看到,cat显示了完整的内容,head查看了前4个字节的内容,看到的是00 0这四个字节的内容,也就是四个字符。因为内容没有换行符,所以接下来的命令提示并没有换行。tail查看了最后4个字节,显示了 44,表面看上去好像只有3个字符,实际上还包含了一个看不见的文件尾EOF。到文件尾后,命令提示也就换行了。

    如果c选项的参数值为负数,效果如下:

c选项的参数值为负数

    可以看到,对于head来说,c的负数参数值,表示显示的内容截止到倒数多少个字节位置。这里也就没有输出文件尾,命令提示没有换行。而tail,则表示从倒数多个字节开始显示内容直到结束或者从尾到头数,截止到多少字节。反正理解是这么个意思就行,不必在意官方如何解释的。


-n :line(行数),按行来计数。head命令显示的是前几行的内容,tail显示的是后几行的内容。

用法:head -n 行数值 文件名

-n :line(行数),按行来计数。head命令显示的是前几行的内容

从图中可以看到,选项n后面的参数值,如果是正数,表示一共显示多少行。head就是从头到尾有多少行。如果是负数,就表示显示截至到倒数多少行。或者理解为,负数指定的是结束行数的下一行的倒数行号。同样,tail的n的参数,如果是正数,则表示从尾到头一共显示多少行,如果为负数,表示从尾到头截止到多少行。负数对于tail似乎意义不大,如果你用从头到尾的顺序来理解tail,那么负数似乎有点用,此时可理解为tail显示的内容从倒数多少行开始。效果如下图所示:

tail的n的参数,如果是正数,则表示从尾到头一共显示多少行,如果为负数,表示从尾到头截止到多少行。


命令head和tail用法是相似的,一个看头,一个看脚,方向有点不一样而已。选项基本一样。掌握这么多也就够了。