在 Linux 系统管理中,head 是一个基础且高频使用的命令,主要用于查看文件的开头部分内容,无论是快速检查文件格式、确认日志起始条目,还是筛选数据前几行,head 命令都能高效完成任务,本文将详细介绍 head 命令的基本用法、常用选项、实际应用场景及注意事项,帮助读者全面掌握这一实用工具。

head 命令的基本用法
head 命令的基本语法为 head [选项] [文件],其核心功能是默认显示文件的前 10 行内容,如果不指定文件,head 会从标准输入(如管道或重定向)中读取数据;如果指定多个文件,则会在每部分输出前显示文件名,便于区分。
查看 example.txt 文件的前 10 行:
head example.txt
若要查看多个文件的前几行,可直接列出文件名:
head file1.txt file2.txt
常用选项详解
head 命令通过选项可以灵活控制输出行数、显示方式等,以下是常用选项的功能说明:

| 选项 | 功能描述 | 示例 |
|---|---|---|
-n <行数> |
指定显示文件的前 N 行(可省略 -n,直接用 -N) |
head -n 5 example.txt 或 head -5 example.txt(显示前 5 行) |
-c <字节数> |
指定显示文件的前 N 个字节 | head -c 100 example.txt(显示前 100 个字节) |
-q |
静默模式,不显示文件名头(多文件时默认显示文件名) | head -q file1.txt file2.txt(不显示文件名) |
-v |
强制显示文件名头(即使单文件也显示) | head -v example.txt(显示文件名) |
-z |
使用 \0 作为行结束符(适用于包含特殊字符的文件) |
head -z example.txt |
实际应用场景
快速检查文件格式与内容
在处理文本文件时,若需快速确认文件格式(如 CSV、日志文件)或前几行数据是否符合预期,head 命令能高效完成。
head -n 3 data.csv # 检查 CSV 文件的表头和前两行数据
分析日志文件起始信息
服务器日志文件通常较大,通过 head 可快速定位错误或异常的起始记录,查看 Nginx 访问日志的前 20 行:
head -n 20 /var/log/nginx/access.log
结合管道与重定向
head 命令常与其他命令组合使用,实现复杂的数据处理,查看系统中占用 CPU 最高的前 3 个进程:
ps aux --sort=-%cpu | head -n 4 # 第 1 行是表头,取前 4 行包含进程名
或从文件中提取前 100 个字节并保存到新文件:

head -c 100 source.txt > output.txt
注意事项
- 默认行数限制:
head默认显示前 10 行,若需更多行需通过-n选项明确指定,避免遗漏关键信息。 - 字节与行的区别:使用
-c选项时,按字节计数可能截断多字节字符(如 UTF-8 编码的中文),处理文本文件时建议优先使用-n。 - 大文件处理:
head仅读取文件开头部分,不会加载整个文件到内存,因此即使处理 GB 级文件也占用极少资源,适合高效查看大文件。 - 多文件输出:默认情况下,
head会在多文件输出时标注文件名,若需静默输出可使用-q选项,避免干扰解析结果。
head 命令虽简单,却是 Linux 日常运维和文本处理的利器,通过掌握其基本用法和常用选项,用户可以快速查看文件开头内容、筛选关键数据,并结合管道等高级功能实现复杂操作,无论是系统管理员还是开发者,熟练使用 head 都能显著提升工作效率,是 Linux 工具箱中不可或缺的基础命令之一。



















