L18.linux命令每日一练 -- 第三章 文件过滤及内容编辑处理命令 -- head和tail命令

3.5 head:显示文件头部内容

3.5.1 命令详解

【命令星级】 ★★★★★

【功能说明】

​ head命令用于显示文件头部的内容,执行head命令默认会输出文件的开头10行内容。

【语法格式】

head [option] [file]
head [选项] [文件]

【选项说明】

​ 表3-8针对head命令的参数选项进行了说明。

​ 表3-8 head命令的参数选项及说明

在这里插入图片描述

3.5.2 使用范例

​ **范例3-21:**显示文件的前10行。

[root@centos7 ~]# head /etc/passwd	#head命令不接任何参数默认显示文件的前10行。
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin

​ **范例3-22:**显示文件的前5行。

[root@centos7 ~]# head -n 5 /etc/passwd	#第一种格式指定显示前5行
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
[root@centos7 ~]# head -5 /etc/passwd	#第二种格式也是指定显示前5行,但是这种写法更精简。
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

​ **范例3-23:**显示文件的前n个字节。

[root@centos7 ~]# head -c 10 /etc/passwd	#读取文件的前10个字节。前面的写法是以行为单位的,而-c则是以字节为单位的。该功能不常用。
root:x:0:0

​ **范例3-24:**打印文件除最后21行之外的内容。

[root@centos7 ~]# head -n -21 /etc/passwd	#最后21行不输出,这种写法也不常用。
root:x:0:0:root:/root:/bin/bash

​ **范例3-25:**显示多个文件。

[root@centos7 ~]# head -1 /etc/passwd /etc/gshadow	#显示多个文件头部内容。
==> /etc/passwd <==		#文件头。
root:x:0:0:root:/root:/bin/bash

==> /etc/gshadow <==
root:::
[root@centos7 ~]# head -qn 1 /etc/passwd 	@-q参数不显示文件头。	/etc/gshadow
root:x:0:0:root:/root:/bin/bash
root:::
[root@centos7 ~]# head -vn 1 /etc/passwd /etc/gshadow	#-v参数总是显示文件头。
==> /etc/passwd <==
root:x:0:0:root:/root:/bin/bash

==> /etc/gshadow <==
root:::

3.6 tail:显示文件内容尾部

3.6.1 命令详解

【命令星级】 ★★★★★

【功能说明】

​ tail命令用于显示文件尾部的内容,tail命令默认输出文件的最后10行。

【语法格式】

tail [option] [file]
tail [选项] [文件]

【选项说明】

​ 表3-9针对tail命令的参数选项进行了说明。

​ 表3-9 tail命令的参数选项及说明

在这里插入图片描述

3.6.2 使用范例

​ **范例3-26:**显示文件最后10行的示例。

[root@centos7 ~]# tail /etc/passwd	#tail命令不接参数,默认显示最后10行。
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
oldboy:x:1000:1000:oldboy:/home/oldboy:/bin/bash
tcpdump:x:72:72::/:/sbin/nologin

​ **范例3-27:**使用tail命令显示文件末尾5行内容。

[root@centos7 ~]# tail -n 5 /etc/passwd	#第一种写法。
abrt:x:173:173::/etc/abrt:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
oldboy:x:1000:1000:oldboy:/home/oldboy:/bin/bash
tcpdump:x:72:72::/:/sbin/nologin
[root@centos7 ~]# tail -5 /etc/passwd	#第二种写法,这种写法简单。
abrt:x:173:173::/etc/abrt:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
oldboy:x:1000:1000:oldboy:/home/oldboy:/bin/bash
tcpdump:x:72:72::/:/sbin/nologin

​ **范例3-28:**通过tail命令从第15行开始显示文件

[root@centos7 ~]# tail -n +5 /etc/passwd	#拓展用法,但不常用。
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
oldboy:x:1000:1000:oldboy:/home/oldboy:/bin/bash
tcpdump:x:72:72::/:/sbin/nologin

​ **范例3-29:**通过tail命令实时监控文件的变化。

[root@centos7 ~]# tail -f test.txt #tail -f实时监控文件的变化,在生产中常用的场景是监控日志文件。
welcome to Linux

if you like Linux please support me



bye! boys and girls
#光标会停在此处

#新开一个终端
[root@centos7 ~]# echo 'tail -f jiankong' >> test.txt	#往test.txt文件里追加内容。

[root@centos7 ~]# tail -f test.txt 
welcome to Linux

if you like Linux please support me



bye! boys and girls
tail -f jiankong #新加的内容会,实时显示。
^C	#Ctrl+c结束

​ **范例3-30:**参数-F的使用。

[root@centos7 ~]# tail -f neteagle	#使用-f参数,当文件不存在时就会报错并退出命令。
tail: cannot open ‘neteagle’ for reading: No such file or directory
tail: no files remaining
[root@centos7 ~]# tail -F neteagle	#使用-F参数,当文件不存在时会返回报错,但是还会一直等待文件生成,不会退出命令。
tail: cannot open ‘neteagle’ for reading: No such file or directory

#新开一个终端生成这个文件
[root@centos7 ~]# echo neteagle test>>neteagle

[root@centos7 ~]# tail -F neteagle
tail: cannot open ‘neteagle’ for reading: No such file or directory
tail: ‘neteagle’ has appeared;  following end of new file
neteagle test	#这时会显示刚才生成文件的内容。
^C

猜你喜欢

转载自blog.csdn.net/qq_25599925/article/details/125356910