head命令是Linux系统中一个非常实用的文本查看工具,主要用于查看文件的开头部分内容。在处理大型文件时,使用head命令可以快速预览文件的开头部分,而不需要加载整个文件。
head [选项] [文件]...
| 选项 | 说明 |
|---|---|
-n <行数> |
显示文件的前N行(默认10行) |
-c <字节数> |
显示文件的前N个字节 |
-q |
不显示文件名标题(多个文件时) |
-v |
总是显示文件名标题 |
--help |
显示帮助信息 |
--version |
显示版本信息 |
# 查看/etc/passwd文件的前10行
head /etc/passwd
# 或者使用简写形式
head -10 /etc/passwd
# 查看文件前5行
head -n 5 filename.txt
# 查看日志文件前20行
head -20 /var/log/syslog
# 查看文件前100个字节
head -c 100 filename.txt
# 查看文件前1KB内容
head -c 1024 largefile.log
# 查看多个文件的前10行
head file1.txt file2.txt file3.txt
# 查看多个文件的前5行,不显示文件名
head -q -n5 file1.txt file2.txt
# 查看进程列表前5个
ps aux | head -5
# 查看当前目录下文件列表前10个
ls -la | head -10
# 统计文件行数后查看前几行
wc -l access.log | head -1
# 使用cat和head组合显示行号
cat -n filename.txt | head -20
# 使用nl命令显示行号
nl filename.txt | head -15
# 查看日志文件最新写入的前20行
head -20 /var/log/application.log
# 结合watch命令实时监控
watch -n 2 "head -10 /var/log/application.log"
# 查看配置文件的前部分,通常包含重要配置
head -30 /etc/nginx/nginx.conf
# 查看脚本文件的开头部分(通常包含shebang和注释)
head -15 /usr/local/bin/myscript.sh
# 同时查看文件的开头和结尾
echo "=== 文件开头 ===" && head -5 largefile.txt && echo "=== 文件结尾 ===" && tail -5 largefile.txt
# 查看文件的第11-20行(结合head和tail)
head -20 filename.txt | tail -10
cat命令会显示整个文件内容,适合查看小文件;head命令只显示文件的开头部分,适合快速预览大文件或查看文件开头内容。
可以使用head和tail命令组合:
head -20 filename.txt | tail -10
这个命令先取前20行,然后从这20行中取最后10行,即第10-20行。
直接使用head命令不能查看压缩文件内容。需要先解压或使用其他工具:
# 查看gzip压缩文件
zcat file.gz | head -10
# 查看bzip2压缩文件
bzcat file.bz2 | head -10