Linux head命令详解

一、概述

head 是 Linux 系统中一个核心的文本处理命令,用于输出文件的开头部分。默认情况下,它会显示每个文件的前 10 行内容。它特别适合在不打开完整大文件的情况下快速预览日志、配置文件或 CSV 数据的内容。

基本语法:

bash

复制代码
head [选项]... [文件]...

核心特点:

  • 处理大文件时无需加载全部内容,效率极高
  • 支持同时处理多个文件
  • 可与管道完美集成,承接其他命令的输出
  • 如果文件行数少于指定数量,则打印整个文件

二、核心选项详解

选项 长选项 功能说明 示例
-n NUM --lines=NUM 显示前 NUM 行(默认 10 行) head -n 20 file.log
-c NUM --bytes=NUM 显示前 NUM 个字节 head -c 1024 binary.bin
-q --quiet / --silent 多文件时不显示文件名头 head -q file1 file2
-v --verbose 始终显示文件名头 head -v *.txt
-z --zero-terminated 以 NUL 作为行分隔符(而非换行符) head -z file.txt
--help --- 显示帮助信息 head --help
--version --- 显示版本信息 head --version

特殊用法:使用 - 前缀排除末尾内容

在 -n 或 -c 的参数值前加上 -,head 会输出除末尾指定行数****/ 字节数之外的所有内容

bash

复制代码
#显示除了最后5行之外的所有内容
复制代码
head -n -5 file.txt
复制代码
复制代码
#显示除了最后100字节之外的所有内容
复制代码
head -c -100 file.bin

NUM 后缀(乘数单位)

NUM 后可以加上乘数后缀,便于指定较大或较小的数据量:

后缀 含义 示例
b 512 字节 head -c 1b file
K 1024 字节(KiB) head -c 10K file
M 1024² 字节(MiB) head -c 1M file
G 1024³ 字节(GiB) head -c 2G file
kB 1000 字节 head -c 10kB file
MB 1000² 字节 head -c 1MB file

三、高级应用技巧与示例

1. 基本用法

bash

复制代码
#默认显示前10行
复制代码
head /var/log/syslog
复制代码
复制代码
#显示前5行(两种写法均可)
复制代码
head -n 5 data.csv
复制代码
head -5 data.csv
复制代码
复制代码
#显示前100个字节
复制代码
head -c 100 binary.dat
复制代码
复制代码
#指定行数+单位后缀
复制代码
head -n 1M hugefile.txt

2. 处理多个文件

bash

复制代码
#同时查看两个文件的前10行,默认显示文件名头
复制代码
head auth.log app.log
复制代码
复制代码
#显示前4行,静默模式(不显示文件名)
复制代码
head -q -n 4 file1.txt file2.txt
复制代码
复制代码
#强制显示文件名头
复制代码
head -v *.conf

输出效果示例:

text

复制代码
==> auth.log <==
复制代码
...
复制代码
==> app.log <==
复制代码
...
相关推荐
xlq223223 分钟前
高并发服务器day21
运维·服务器
Brilliantwxx6 分钟前
【Linux】 第一个程序终端进度条
linux·运维·服务器
AI创界者9 分钟前
【网络安全运维】Kali Linux 下 Medusa(美杜莎)工具的高效部署、故障排查与安全测试实战
linux·运维·web安全
FinelyYang32 分钟前
CentOS 7.6 自建 LiveKit 部署指南
linux·运维·centos
Huangjin007_34 分钟前
【Linux 系统篇(十四)】进程 (二) :PCB、task_struct、fork系统调用
linux·运维·服务器
HiDev_36 分钟前
【非标自动化】硬核阅读理解620行梯形图(70~619行)
运维·自动化
深念Y1 小时前
hotspot-adb-research
linux·数据库·adb·emmc·随身wifi·移动终端
雨田言炎1 小时前
十、QThread多线程
linux·服务器·开发语言·前端·qt
海兰1 小时前
云原生持续交付平台 Zadig 在 Ubuntu 24.04 上的部署及使用指南
linux·ubuntu·云原生
向上的车轮1 小时前
GitHub Actions 自动化运维实战:Java + TypeScript 全栈项目 CI/CD 至阿里云
运维·自动化·github