做什么

输出文件的前 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 形式