0

2.19Linux下头尾部文件内容读取之head、tail命令

Posted by 撒得一地 on 2015年11月8日 in Linux教程

linux下读取文件的命令很多,可以根据适合的场景选取相关命令。读取长篇文件适合使用翻页命令,比如more、less命令。想直接将文件内容打印在屏幕上,可以使用cat、tac命令。那么当想读取文件头部前几行、尾部后几行的内容时,这时候就可以使用head和tail命令了,head与tail是以行为单位来进行数据输出的。

下面分别介绍head和tail命令的用法。

head(头部,取出前面几行内容)

[root@lmode ~]# head [-n number] 文件名
选项与参数:
-n  :后面接数字,代表显示几行的意思

实例1:显示/etc/man.config前面十行数据

[root@lmode ~]# head /etc/man.config
[root@lmode ~]# head -n 10 /etc/man.config

上面两种方法都可以,从第一种不带选项n可以看出,当使用head命令不带选项n时,默认显示文件内容前10行。

实例2:当n选项后面行数是负数时

[root@lmode ~]# head -n -20 /etc/man.config

当n选项后面接的是负数时,就是另一种含义了。比如上面的-n -20,代表输出文件内容的所有行数,但不包括最后面20行。当负数指定的绝对值大于文件总行数时,就什么都不输出了。

tail(有头[head]有尾[tail]了,取出后面几行)

tail不仅可以读取文件尾部指定行数的内容,也经常用来读取实时日志文件,十分好用。

[root@lmode ~]# tail [-n number] 文件 
选项与参数:
-n  :后面接数字,代表显示几行的意思

-f  :表示实时读取指定的文件内容,要等到按下[ctrl]-c才会结束tail的监测

实例3:显示/etc/man.config文件的最后十行内容

[root@lmode ~]# tail /etc/man.config
[root@lmode ~]# tail -n 10 /etc/man.config

tail命令在不加选项n时,默认是读取文件最后10行数据,不够10行按最多读取。其实和head异曲同工了。

实例4:实时读取日志文件内容

[root@lmode ~]# tail -f /var/log/messages
<==要等到输入[crtl]-c之后才会离开tail这个命令的监测

上面实例中当messages文件里面有更新数据时,屏幕上就会立刻显示出新内容,这个命令在开发调试时用的非常多。当然你也可以实时读取某个日志文件,比如网站的错误日志,访问日志等。

当使用tail命令选项n后面带负数时,这时候就会报错了。tail本来就是显示文件尾部内容的,所以这时候就不能使用负数了。不过你可以这样用:tail -n +100 /etc/man.config,表示显示/etc/man.config文件100行以后的内容,前面的99行不显示。

linux有一些命令都是成双成对的,非常有意思。比如cat与tac、more与less、head与tail,当然这些成双成对的命令也不全是相反命令,只是在学习时配合着记忆和使用,更能加深记忆和理解。

转载请注明:http://coderschool.cn/989.html

标签:, ,

上一篇:

下一篇:

相关推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注

2 + 5 = ?

网站地图|XML地图

Copyright © 2015-2017 技术拉近你我! All rights reserved.
闽ICP备15015576号-1,版权所有©psz.