令『
head -n -100 /etc/man_db.conf
』
就会列出前面
31
行,后面
100
行不会打印出来了。这样说,比
½容易懂了吧?
^_^
.
tail (
取出后面几行
)
[root@study ~]#
tail [
-
n number]
文件
选项
与
参数
:
-
n
:后面½
数
字,代表
显
示几行的意思
-
f
:表示持
续侦测
后面所½的
档
名,要等到按下
[ctrl]
-
c
才
会½
束
tail
的
侦测
[root@study ~]#
tail /etc/man_db.conf
#
默
认
的情
况
中,
显
示最后的十行!若要
显
示最后的
20
行,就得要
这样
:
[root@study ~]#
tail
-
n 20 /etc/man_db.conf
范例一:如果不知道
/etc/man_db.conf
有几行,
却
只想列出
100
行以后的
数
据
时
?
[root@study ~]#
tail
-
n +100
/etc/man_db.conf
范例二:持
续侦测
/var/log/messages
的
内
容
[root@study ~]#
tail
-
f /var/log/messages
<==
要等到
输
入
[crtl]
-
c
之后才
会
离
开
tail
这个
指令的
侦测
!
有
head
自然就有
tail (
尾巴
)
啰!没错!这个
tail
的用法跟
head
的用法差不多类似,只是显示
的是后面几行就是了!默认也是显示十行,若要显示非十行,就加
-n number
的选项即可。
范例一的内容就有趣啦!其实与
head -n -xx
有异曲同工之妙。当下达『
tail -n +100 /etc/man_db.conf
』
代表该文件从
100
行以后都会被列出来,同样的,在
man_db.conf
共有
131
行,因此第
100~131
行就
会被列出来啦!
前面的
99
行都不会被显示出来喔!
至于范例二中,由于
/var/log/messages
随时会有数据写入,你想要让该文件有数据写入时就立刻显示
到屏幕上,
就利用
-f
这个选项,他可以一直侦测
/var/log/messages
这个文件,新加入的数据都会被
显示到屏幕上。
直到你按下
[crtl]-c
才会离开
tail
的侦测喔!由于
messages
必须要
root
权限才能看,
所以该范例得要使用
root
来查询喔!
例题:
假如我想要显示
/etc/man_db.conf
的第
11
到第
20
行呢?
答:
这个应该不算难,想一想,在第
11
到第
20
行,那么我取前
20
行,再取后十行,所以½果就是:『
head
-
n 20
/etc/man_db.conf | tail
-
n 10
』,这样就可以得到第
11
到第
20
行之间的内容了!
这两个指令中间有个管线
(|)
的符号存在,这个
管线的意思是:『
前面的指令所输出的讯息,请透过管线½由后续
的指令继续使用
』的意思。
所以,
head
-
n 20 /etc/man_db.conf
会½
文件
内的
20
行取出来,但不输出到屏幕上,
而是转½给后续的
tail
指令继续处理。
因此
tail
『不需要½档名』,因为
tail
所需要的数据是来自于
head
处理
后的½果!这样说,有没有理½?
更多的管线命令,我们会在第三篇继续½释的!