head 命令是大多数 Linux 发行版中的命令行实用程序,用于从一个或多个文件的开头打印数据。 它还用于将管道数据输出到 CLI。 我们可以使用不同的选项将任意数量的行或字节的数据打印到标准输出,但默认情况下 head 命令打印文件的前 10 行。
在本综合指南中,我们将学习在 Linux 中使用 head 命令。 此外,我们还将熟悉 Linux 上可用的 head 命令的选项。 head 命令在所有主要的 Linux 发行版中都可用; 但出于演示目的,在本指南中,我们将仅使用 Ubuntu 20.04 LTS。
我们先从了解head命令的语法开始:
句法:
head 命令的语法类似于用于处理文件的任何其他命令。 它需要两个不同的参数; 选项和 FILE_NAME。
head [OPTION] [FILE_NAME]
这些选项用于操作 head 命令的输出。 它们可用于指定需要打印到标准输出的数据量或打印带或不带标题的数据。 以下是 Linux 中 head 命令可用的选项列表:
Option含义-c, --byte
必须在此选项后跟一个数字,该数字指定要打印到标准输出的字节。-n, --lines
也必须在此选项后跟一个数字。 -n 选项指定要打印到标准输出的行数。:-q, --quiet, --silent
如果使用此选项,则 head 命令将不会打印指定文件名的标题。-v, --verbose
此选项将始终输出标题/文件名。-z, --zero-terminated
将行分隔符从换行符更改为 NULL。--help
输出帮助菜单。--version
输出head命令的版本信息。
在本操作指南中,我们将详细讨论 head 命令的选项; 但首先,我们将学习在没有任何选项的情况下使用 head 命令。
如何显示文件的前 10 行
如果我们在不提供任何选项的情况下执行 head 命令,它将仅显示文本文件的前十行。 假设我们有一个名为 cars.txt 的文本文件,其中包含一些汽车的名称,我们需要打印前十行写的前十辆车的名称。 然后我们将通过以下方式使用 head 命令:
head cars.txt
如何从文件开头打印特定数量的字节
选项 -c
或者 --byte
可用于指定要打印到标准输出的字节数。 现在我们将再次使用 cars.txt 文件并打印文件的前十五个字节:
head -c 15 cars.txt
相似地:
head --bytes 15 cars.txt
如何从文件开头打印特定数量的行
这 -n
, --lines
options 可用于从文件开头打印特定数量的行:
head -n 5 cars.txt
相似地:
head --lines 5 cars.txt
如何显示标题/文件名
这 -v
或者 --verbose
选项可用于将文件名打印到标准输出:
head -v cars.txt
如何显示来自多个文件的数据
head 命令可以将多个文件名作为参数。 默认情况下,它将打印出两个文件的前十行(以文件名开头):
head cars.txt names.txt
我们还可以将选项与多个文件名一起使用:
head -n 2 cars.txt names.txt
如何在没有标题的情况下显示来自多个文件的数据
这 -q
, --quiet
和 --silent
选项可用于显示来自多个文件的数据而没有标题:
head -n 2 -q cars.txt names.txt
如何将 head 命令与其他命令结合使用
head 命令可以与其他命令结合使用来过滤打印到标准输出的数据:
ls | head -n 5
使用 [-]带有 -c 和 -n 选项的 K
如果 -c
和 -n
选项后跟 [-]K,然后 head 命令打印文件的所有字节/行,除了最后 K 个字节/行:
head -n -15 names.txt
names.txt 文件总共包含二十六个名称。 如果我们使用下面给出的命令,那么 head 命令将打印前十五个名称(行)。
head -n 15 names.txt command
但是如果我们添加一个 -
在数字之前, head 命令将打印除最后十五行之外的所有行:
head -n -15 names.txt
结论
head 是所有主要 Linux 发行版中都存在的命令,用于从文件的开头打印数据。 它与用于从文件末尾输出数据的 tail 命令相反。
head 命令可以与不同的选项一起使用,以指定应该打印到标准输出的行数或字节数。 还可以使用选项来允许或限制 head 命令不显示文件的标题或名称。
在本操作指南中,我们学习了如何使用 header 命令及其选项。