head命令专为查看文件开头设计,默认显示前10行,支持-n N指定行数、-n -N跳过末尾N行、多文件处理及与tail组合提取中间段。

用 head 命令最直接:它专为查看文件开头内容设计,默认显示前 10 行,支持灵活指定行数。
基本用法:显示前 N 行
语法简洁明确:head -n N 文件名 或简写为 head -N 文件名(N 为正整数)。
-
head -n 5 data.log→ 显示 data.log 的前 5 行 -
head -20 config.conf→ 显示前 20 行(-20 是 -n 20 的简写) - 不加参数时等效于
head -n 10
进阶技巧:跳过末尾、处理多文件
head 不仅能“取头”,还能“去尾”或适配复杂场景:
-
head -n -3 file.txt→ 显示除最后 3 行外的所有内容(即去掉末尾 3 行) - 同时查看多个文件:
head file1.txt file2.txt→ 每个文件前自动打印文件名分隔 - 强制显示文件名(即使只有一个文件):
head -v file.txt - 隐藏文件名(适合管道后续处理):
head -q file.txt
配合其他命令提取中间段(如第 10–20 行)
head 单独不能直接跳到中间,但组合 tail 可高效实现:
- 先用 tail 从第 10 行开始取之后全部:
tail -n +10 file.txt - 再用 head 截取前 11 行(即第 10 至 20 行):
tail -n +10 file.txt | head -n 11 - 一行搞定:
tail -n +10 file.txt | head -n 11
替代方案对比:何时不用 head
如果目标不是“从头开始”,而是任意范围,可考虑:
-
sed -n '10,20p' file.txt→ 精确输出第 10 到 20 行,适合脚本化 awk 'NR>=10 && NR → 条件更灵活,支持计算逻辑- 避免用 cat 链式调用(如
cat file.txt | head -n 5),多一次进程开销,直接head -n 5 file.txt更高效


















