00. 目录
01. 命令概述
head命令用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。
02. 命令格式
用法:head [选项]... [文件]...
将每个指定文件的头10 行显示到标准输出。
如果指定了多于一个文件,在每一段输出前会给出文件名作为文件头。
如果不指定文件,或者文件为"-",则从标准输入读取数据。
03. 常用选项
长选项必须使用的参数对于短选项时也是必需使用的。
-c, --bytes=[-]K 显示每个文件的前K 字节内容;
如果附加"-"参数,则除了每个文件的最后K字节数据外
显示剩余全部内容
-n, --lines=[-]K 显示每个文件的前K 行内容;
如果附加"-"参数,则除了每个文件的最后K 行外显示
剩余全部内容
-q, --quiet, --silent 不显示包含给定文件名的文件头
-v, --verbose 总是显示包含给定文件名的文件头
--help 显示此帮助信息并退出
--version 显示版本信息并退出
04. 参考示例
4.1 显示文件前10行
默认情况下,将文件的前 10 行打印到标准输出。
[deng@localhost ~]$ head /etc/passwd
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
[deng@localhost ~]$
4.2 显示文件前5行
如果要显示文件前 K(这里为 5)行内容,而非默认的前 10 行,使用 -n
选项。
[deng@localhost ~]$ head -n 5 /etc/passwd
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
[deng@localhost ~]$
4.3 显示文件的前 K 字节的内容
使用选项 -c
,可以指定显示文件的前 K(这里为 5)个字节。
[deng@localhost ~]$ head -c 5 /etc/passwd
root:[deng@localhost ~]$
4.4 显示除了文件最后k个字节以外的全部内容
这里除了使用 -c
选项以外,还需要附加“-”参数。
[deng@localhost ~]$ head -c -2000 /etc/passwd
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[deng@localhost ~]$
4.5 显示除了文件最后 k 行以外的全部内容
这里除了使用 -n
选项以外,还需要附加“-”参数。
[deng@localhost ~]$ head -n -43 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
[deng@localhost ~]$
4.6 显示多个文件
要同时显示多个文件的内容,只需要将多个文件用空格隔开,文件开头处会添加上文件的名称。
[deng@localhost test]$ head a.txt file.txt
==> a.txt <==
/etc/passwd
/home
==============================
==> file.txt <==
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
[deng@localhost test]$
4.7 显示多个文件, 但是不显示标题
[deng@localhost test]$ head -q a.txt file.txt
/etc/passwd
/home
==============================
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
[deng@localhost test]$
4.8 显示多个文件, 但是显示标题
[deng@localhost test]$ head -v a.txt file.txt
==> a.txt <==
/etc/passwd
/home
==============================
==> file.txt <==
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