您的位置:首页 > 财经 > 金融 > Linux系统之head命令的基本使用

Linux系统之head命令的基本使用

2025/1/23 5:01:50 来源:https://blog.csdn.net/jks212454/article/details/141336513  浏览:    关键词:Linux系统之head命令的基本使用

Linux系统之head命令的基本使用

  • 一、head命令介绍
  • 二、head命令的使用帮助
    • 2.1 head命令的help帮助信息
    • 2.2 head命令的语法解释
  • 三、head的基本使用
    • 3.1 直接使用
    • 3.2 查看文件前N行
    • 3.3 查看多个文件
    • 3.4 查询文件的前5行
    • 3.5 显示文本所有内容(除了后5行内容)
    • 3.6 输出显示文件名
    • 3.7 输出不显示文件名
    • 3.8 显示文件的前10个字节
  • 四、配合其他命令使用
    • 4.1 配合管道符使用
    • 4.2 配合grep使用
    • 4.3 与xargs配合使用
  • 五、注意事项

在这里插入图片描述

一、head命令介绍

  • head命令简介

head 命令在 Linux 和其他类 Unix 操作系统中是一个非常有用的工具,用于查看文本文件的开头部分。默认情况下,它会显示文件的前 10 行。

二、head命令的使用帮助

2.1 head命令的help帮助信息

执行以下命令,查看head命令的帮助信息。

[root@openEuler-test ~]# head --help
Usage: head [OPTION]... [FILE]...
Print the first 10 lines of each FILE to standard output.
With more than one FILE, precede each with a header giving the file name.With no FILE, or when FILE is -, read standard input.Mandatory arguments to long options are mandatory for short options too.-c, --bytes=[-]NUM       print the first NUM bytes of each file;with the leading '-', print all but the lastNUM bytes of each file-n, --lines=[-]NUM       print the first NUM lines instead of the first 10;with the leading '-', print all but the lastNUM lines of each file-q, --quiet, --silent    never print headers giving file names-v, --verbose            always print headers giving file names-z, --zero-terminated    line delimiter is NUL, not newline--help        display this help and exit--version     output version information and exitNUM may have a multiplier suffix:
b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024,
GB 1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y, R, Q.
Binary prefixes can be used, too: KiB=K, MiB=M, and so on.GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Full documentation <https://www.gnu.org/software/coreutils/head>
or available locally via: info '(coreutils) head invocation'

2.2 head命令的语法解释

用法: head [选项]... [FILE]...
打印每个 FILE 的前 10 行到标准输出。
如果有多个 FILE,则在每个文件之前会打印一个标题给出文件名。
选项描述
-c, --bytes=[-]NUM打印每个文件的前 NUM 个字节;如果前面有 -,则打印除去每个文件最后 NUM 个字节的内容
-n, --lines=[-]NUM打印每份文件的前 NUM 行而不是默认的 10 行;如果前面有 -,则打印除去每个文件最后 NUM 行的内容
-q, --quiet, --silent从不打印给出文件名的行
-v, --verbose总是打印给出文件名的行
-z, --zero-terminated行分隔符是 NUL 字符,而不是换行符
–help显示帮助并退出
–version输出版本信息并退出

NUM 可以有乘数后缀:

  • b 代表 512
  • kB 代表 1000
  • K 代表 1024
  • MB 代表 1000 * 1000
  • M 代表 1024 * 1024
  • GB 代表 1000 * 1000 * 1000
  • G 代表 1024 * 1024 * 1024
  • 类似地,T、P、E、Z、Y、R 和 Q 也适用

二进制前缀也可以使用,例如:KiB=K, MiB=M 等等。

GNU coreutils 在线帮助: https://www.gnu.org/software/coreutils/
完整文档可访问: https://www.gnu.org/software/coreutils/head
或者本地查阅: info '(coreutils) head invocation'

三、head的基本使用

3.1 直接使用

直接使用head命令,默认打印文本的前10行

[root@openEuler-test ~]# head /etc/passwd
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin
daemon:x:2:2:daemon:/sbin:/usr/sbin/nologin
adm:x:3:4:adm:/var/adm:/usr/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/usr/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:/usr/sbin/nologin
operator:x:11:0:operator:/root:/usr/sbin/nologin

3.2 查看文件前N行

使用-n选项,指定查看文件的前n行。

[root@openEuler-test ~]# head -n 2 /etc/passwd
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin

3.3 查看多个文件

执行以下文件,查看多个文件。

[root@openEuler-test ~]# head -n 3 /etc/passwd  /etc/shadow
==> /etc/passwd <==
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin
daemon:x:2:2:daemon:/sbin:/usr/sbin/nologin==> /etc/shadow <==
root:$y$j9T$n53ZO81eNovcbOou130tUkjy$nkyJo1U/tXS59VhjeG3ds9j79nE8xeiFDTg8UBZioi5::0:99999:7:::
bin:*:19866:0:99999:7:::
daemon:*:19866:0:99999:7:::

3.4 查询文件的前5行

head -5 /etc/passwdhead -n 5 /etc/passwd效果一致

[root@openEuler-test ~]# head -5 /etc/passwd
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin
daemon:x:2:2:daemon:/sbin:/usr/sbin/nologin
adm:x:3:4:adm:/var/adm:/usr/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/usr/sbin/nologin

在这里插入图片描述

3.5 显示文本所有内容(除了后5行内容)

显示文本所有内容(除了后5行内容)

[root@openEuler-test ~]# head -n -5 /etc/passwd
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin
daemon:x:2:2:daemon:/sbin:/usr/sbin/nologin
adm:x:3:4:adm:/var/adm:/usr/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/usr/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:/usr/sbin/nologin
operator:x:11:0:operator:/root:/usr/sbin/nologin
games:x:12:100:games:/usr/games:/usr/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/usr/sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:/:/usr/sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
saslauth:x:998:76:Saslauthd user:/run/saslauthd:/sbin/nologin
dhcpd:x:177:177:DHCP server:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
dbus:x:81:81:D-Bus:/var/run/dbus:/sbin/nologin

3.6 输出显示文件名

加上-v选项,输出结果显示文件吗。

[root@openEuler-test ~]# head -v /etc/passwd
==> /etc/passwd <==
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin
daemon:x:2:2:daemon:/sbin:/usr/sbin/nologin
adm:x:3:4:adm:/var/adm:/usr/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/usr/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:/usr/sbin/nologin
operator:x:11:0:operator:/root:/usr/sbin/nologin

3.7 输出不显示文件名

加-q选项,输出不显示文件名,默认为不显示。

[root@openEuler-test ~]# head -q /etc/passwd
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin
daemon:x:2:2:daemon:/sbin:/usr/sbin/nologin
adm:x:3:4:adm:/var/adm:/usr/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/usr/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:/usr/sbin/nologin
operator:x:11:0:operator:/root:/usr/sbin/nologin

3.8 显示文件的前10个字节

使用-c选项,指定显示文件的字节数,例如-c 100为显示文件的前100个字符内容。

[root@openEuler-test ~]#  head -c 100 /etc/passwd; echo -e "\n"
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin
daemon:x:2:2:daemon:/sbin

四、配合其他命令使用

4.1 配合管道符使用

head命令经常配合其他命令使用,例如可以与管道符一起使用。

[root@openEuler-test ~]# cat /etc/passwd |head -n 5
root:x:0:0:Super User:/root:/bin/bash
bin:x:1:1:bin:/bin:/usr/sbin/nologin
daemon:x:2:2:daemon:/sbin:/usr/sbin/nologin
adm:x:3:4:adm:/var/adm:/usr/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/usr/sbin/nologin

4.2 配合grep使用

这条命令首先查找文件中包含 “pass” 的行,然后通过管道传递给 head 只显示前 3 行匹配结果。

[root@openEuler-test ~]# grep "pass"  /etc/ssh/sshd_config  |head -n 3
# To disable tunneled clear text passwords, change to no here!
# Change to no to disable s/key passwords
# PAM authentication via KbdInteractiveAuthentication may bypass

4.3 与xargs配合使用

对于处理命令行参数长度受限的情况,可以先通过 head 限制输入,再传递给其他命令。

[root@openEuler-test ~]# find /etc -name "*.txt" | head -n 10 | xargs ls -l
-rw-r--r--. 1 root root 451 May 19 11:50 /etc/pki/nssdb/pkcs11.txt

五、注意事项

  • 默认情况下 head 显示文件的前 10 行,可以通过 -n 选项自定义行数。
  • 使用 -c 选项时要注意,它按字节数而非行数截取文件内容。
  • 处理二进制文件时应谨慎使用 head,以免破坏文件格式或导致不可预测的行为。
  • 当处理非常大的文件时,使用 head 可以快速预览文件内容而不必加载整个文件。
  • 在管道中使用 head 时,确保后续命令能正确处理有限的输入数据。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com