在linux中使用head命令和tail命令查看文件中的指定行

使用head 命令和tail 命令显示指定的行:

head

-n, –lines=[-]K

print the first K lines instead of the first 10; with the leading

‘-‘, print all but the last K lines of each file

tail

-n, –lines=K

output the last K lines, instead of the last 10; or use -n +K to

output lines starting with the Kth

[root@localhost etc]# pwd

/etc

[root@localhost etc]# cat yum.conf

[main]

cachedir=/var/cache/yum/$basearch/$releasever

keepcache=0

debuglevel=2

logfile=/var/log/yum.log

exactarch=1

obsoletes=1

gpgcheck=1

plugins=1

installonly_limit=3

//此处是一空行

This is the default, if you make this bigger yum won’t see if the metadata

is newer on the remote and so you’ll “gain” the bandwidth of not having to

download the new metadata and “pay” for it by yum not having correct

information.

It is esp. important, to have correct metadata, for distributions like

Fedora which don’t keep old packages around. If you don’t like this checking

interupting your command line usage, it’s much better to have something

manually check the metadata once an hour (yum-updatesd will do this).

metadata_expire=90m

//此处是一空行

PUT YOUR REPOS HERE OR IN separate files named file.repo

in /etc/yum.repos.d

[root@localhost etc]# cat yum.conf |wc -l

yum.conf 文件共有23 行

[root@localhost etc]# head yum.conf

[main]

cachedir=/var/cache/yum/$basearch/$releasever

keepcache=0

debuglevel=2

logfile=/var/log/yum.log

exactarch=1

obsoletes=1

gpgcheck=1

plugins=1

installonly_limit=3

显示前10 行,这个是默认值

[root@localhost etc]# head -n 2 yum.conf

[main]

cachedir=/var/cache/yum/$basearch/$releasever

显示前2 行

[root@localhost etc]# head -n -20 yum.conf

[main]

cachedir=/var/cache/yum/$basearch/$releasever

keepcache=0

显示除最后20 行以外的所有行

[root@localhost etc]# tail yum.conf

download the new metadata and “pay” for it by yum not having correct

information.

It is esp. important, to have correct metadata, for distributions like

Fedora which don’t keep old packages around. If you don’t like this checking

interupting your command line usage, it’s much better to have something

manually check the metadata once an hour (yum-updatesd will do this).

metadata_expire=90m

//此处是一空行

PUT YOUR REPOS HERE OR IN separate files named file.repo

in /etc/yum.repos.d

显示最后10 行,这是默认值

[root@localhost etc]# tail -n 2 yum.conf

PUT YOUR REPOS HERE OR IN separate files named file.repo

in /etc/yum.repos.d

显示最后2 行

[root@localhost etc]# tail -n +21 yum.conf

//此处是一空行

PUT YOUR REPOS HERE OR IN separate files named file.repo

in /etc/yum.repos.d

从第21 行开始显示后面的所有行,即第21 行到第23 行

显示第11 行到第20 行(总共23 行):

从第11 行开始显示,但不包括最后3 行

[huage@localhost etc]$ head -n -3 yum.conf |tail -n +11

显示前20 行,但从第11 行开始

[huage@localhost etc]$ head -n 20 yum.conf |tail -n +11

显示除最后3 行以外的所有行,但只显示最后10 行

[huage@localhost etc]$ head -n -3 yum.conf |tail -n 10

显示前20 行中的后10 行

[huage@localhost etc]$ head -n 20 yum.conf |tail -n 10

从第11 行开始显示,但只显示前10 行

[huage@localhost etc]$ tail -n +11 yum.conf |head -n 10

从第11 行开始显示,但不包括最后3 行

[huage@localhost etc]$ tail -n +11 yum.conf |head -n -3

显示最后13 行中的前10 行

[huage@localhost etc]$ tail -n 13 yum.conf |head -n 10

显示最后13 行中除末尾的3 行以外的前10 行

[huage@localhost etc]$ tail -n 13 yum.conf |head -n -3