在 Linux 日常运维、文件处理中,我们经常需要快速预览文件开头内容——比如查看配置文件的头部注释、日志文件的初始记录、数据文件的表头信息,这时 head 命令就是最实用的工具。
它无需打开整个文件,就能精准输出文件起始部分,尤其适合处理大文件时,避免因加载全部内容占用资源、浪费时间。今天就结合官方 man 手册,详细拆解 head 命令的用法、参数及实战场景,让你轻松掌握这个高频基础命令。
一、命令核心定位
head 命令的核心功能的是 输出文件的开始部分,默认情况下,会显示每个文件的前 10 行内容,是 Linux 系统中最基础、最常用的文本查看命令之一。
它的设计哲学是“快速预览”,工作原理很简单:从文件开头逐行读取,达到指定条件(行数/字节数)后立即停止,不处理文件剩余部分,资源消耗小、效率极高,尤其适合大文件预览。
补充说明:如果指定多个文件,head 会依次输出每个文件的内容,并在每个文件开头标注文件名;如果没有指定文件,或文件参数为 -,则从标准输入读取内容。
二、语法格式(对照 man 手册标准)
head 命令的标准语法非常简洁,man 手册中给出的总览格式如下:
head [OPTION]... [FILE]...
参数说明:
- •
[OPTION]:可选参数,用于控制输出的行数、字节数等(下文重点讲解); - •
[FILE]:可选参数,指定要查看的文件,可同时指定多个文件。
三、常用参数详解(man 手册核心提炼)
head 命令的参数不多,但每一个都很实用,结合 man 手册描述,整理成清晰表格,方便大家收藏查阅,重点参数已标注:
补充细节(man 手册重点提示):
如果参数中的 VALUE(行数/字节数)第一个字符为-,则表示“输出除末尾 VALUE 行/字节外的所有内容”;若 VALUE 后跟着 b、k、m 后缀,则按字节数处理(对应 -c 参数),否则按行数处理(对应 -n 参数)。
四、实战常用示例(高频场景全覆盖)
结合日常工作场景,整理 8 个最常用的实战示例,所有命令均符合 man 手册标准,直接复制即可使用:
1. 默认用法:查看文件前 10 行
无需加任何参数,head 会默认显示文件前 10 行,适合快速预览文件开头:
# 查看 test.txt 文件前 10 行head test.txt
2. 指定行数:查看文件前 N 行(最常用)
用 -n 参数指定行数,比如查看文件前 5 行、前 20 行,灵活适配不同场景:
# 查看 test.txt 文件前 5 行head -n 5 test.txt# 查看 /etc/passwd 文件前 20 行(查看系统用户信息开头)head -n 20 /etc/passwd
3. 排除末尾:显示除末尾 N 行外的所有内容
在行数前加 -,可排除文件末尾指定行数,比如显示除末尾 5 行外的所有内容:
# 显示 test.txt 除末尾 5 行外的全部内容head -n -5 test.txt
4. 指定字节数:查看文件前 N 个字节
用 -c 参数指定字节数,适合查看二进制文件、小体积文本的开头部分,支持后缀单位:
# 查看 test.txt 前 100 个字节head -c 100 test.txt# 查看 binary.bin 文件前 1K 字节(1024字节)head -c 1k binary.bin
5. 排除末尾字节:显示除末尾 N 字节外的所有内容
类似排除末尾行数,在字节数前加 -,可排除文件末尾指定字节:
# 显示 test.txt 除末尾 50 字节外的全部内容head -c -50 test.txt
6. 查看多个文件:静默模式(不显示文件名)
查看多个文件时,默认会显示每个文件的文件名头部,用 -q 参数可隐藏,只显示文件内容:
# 查看 file1.txt、file2.txt 前 3 行,不显示文件名head -q -n 3 file1.txt file2.txt
7. 查看多个文件:强制显示文件名
即使查看单个文件,用 -v 参数也能强制显示文件名头部,便于区分多个文件输出:
# 查看 test.txt 前 5 行,强制显示文件名head -v -n 5 test.txt
8. 结合管道:查看命令输出的开头部分
head 可与其他命令结合(通过管道 |),查看命令输出的开头,比如查看进程列表前 10 个:
# 查看系统进程列表前 10 个ps aux | head -n 10
五、核心补充知识点
1. 与 tail 命令的互补关系
head 负责显示文件开头,tail 负责显示文件末尾,两者结合可实现更灵活的内容查看,比如查看文件第 6-15 行(先取前 15 行,再取后 10 行):
# 查看 test.txt 第 6-15 行head -n 15 test.txt | tail -n 10
2. 性能优势
对于超大文件,head 无需读取整个文件,只需读取到指定行数/字节数就停止,比 cat、less 等命令更高效,能显著节省系统资源和时间。
3. 常见误区规避
- • 误区 1:参数格式错误,比如
head -n20 test.txt(缺少空格),部分 Linux 版本不支持,正确写法是 head -n 20 test.txt; - • 误区 2:查看二进制文件时出现乱码,可结合 hexdump 命令,用
head -c 256 binary_file | hexdump -C 以十六进制格式查看头部内容; - • 误区 3:混淆 -n 和 -c 参数,记住:-n 对应行数,-c 对应字节数,后缀 b、k、m 仅适用于 -c 参数。
六、总结
head 命令看似简单,却是 Linux 文本处理、日常运维中不可或缺的工具,核心优势就是“快速、高效、轻量化”。
记住这几个核心要点,就能灵活运用:
- • 默认显示前 10 行,用
-n N 指定行数,-c SIZE 指定字节数; - • 多文件查看用
-q(静默)、-v(强制显示文件名);
关注我,持续解锁 Linux 高频命令详解,从基础到进阶,一步步搞定 Linux 命令行!