做什么
输出文件的前 N 行。默认 10 行。
常用参数
| 参数 | 含义 |
|---|---|
-n N |
前 N 行 |
-n -N |
除了末尾 N 行之外的所有 |
-c N |
前 N 字节 |
-q |
多文件时不显示文件名头 |
-v |
多文件时强制显示文件名头 |
实战
head file.txt # 前 10 行
head -n 5 file.txt # 前 5 行
head -n 100 access.log # 前 100 行
head -c 200 binary.dat # 前 200 字节
# 多个文件
head -n 3 *.log # 每个文件前 3 行(带文件名头)
# 配管道
cat /etc/passwd | head # 前 10 行
ps aux | head # 看进程列表头
# "除了末尾 5 行外的所有"
head -n -5 file.txt
配 tail 用
看头尾各 5 行(中间略):
head -n 5 file.txt && echo "..." && tail -n 5 file.txt
坑
-n N中 N 必须是正整数;-n -N是"除末尾 N 行外"的特殊语法- macOS 的 head 跟 Linux 略有差异——脚本要跨平台时用 POSIX 形式