Linux 【06-head命令超详细教程】

📅 2026/6/23 21:26:39
Linux 【06-head命令超详细教程】
Linux head 命令超详细保姆级教程一、命令作用head用于查看文件开头内容默认打印文件前10行也可接收管道输出截取命令输出的头部数据日常排查日志、读取配置、过滤输出高频使用。二、基础语法head[选项]文件名# 管道用法命令|head[选项]三、默认行为无任何参数不加参数自动输出文件前10行# 查看 test.txt 前10行headtest.txt四、全部常用参数详解高频冷门全覆盖1.-n / --lines指定输出行数最常用简写-n 数字或直接-数字极简写法# 输出前5行 三种等价写法head-n5test.txthead-5test.txthead--lines5test.txt# 管道截取命令前3行ls-l/etc|head-3特殊用法数字前加-排除末尾N行head -n -k表示输出全部行但去掉最后k行# 文件共100行输出前90行删掉最后10行head-n-10test.txt2.-c / --bytes按字节截取而非按行单位字节可搭配后缀b/k/m/g块/KB/MB/GB# 读取前100字节内容head-c100test.txt# 读取前2KB2*1024字节head-c2k test.txt# 读取前1MBhead-c1m test.txt同样支持负数值head -c -20读取全部删除最后20字节3.-q / --quiet / --silent多文件时不打印文件名当传入多个文件head 默认会输出 文件名 分隔标题-q隐藏标题# 不显示文件头直接合并输出两个文件开头head-qtest1.txt test2.txt4.-v / --verbose强制打印文件名标题单个文件默认不显示标题加-v强制输出文件分隔头head-vtest.txt5.--help帮助文档 /--version查看版本head--helphead--version五、多文件同时读取直接空格分隔多个文件默认带文件分隔标题# 同时看两个文件前10行headtest1.txt test2.txt# 同时看两个文件前3行隐藏标题head-q-3test1.txt test2.txt六、管道经典实战场景工作最常用场景1查看日志开头N行# 查看nginx日志前20行head-20/var/log/nginx/access.log场景2过滤目录列表只看前5个文件ls-lh/home|head-5场景3配合grep只看匹配结果前10条# 搜索包含error的日志只输出前10条匹配greperrorapp.log|head-10场景4配合cat、sort截取头部# 排序文件后只看前15行sorttest.txt|head-15场景5只看脚本前50字节快速看文件编码头部head-c50install.sh七、特殊边界案例1. 文件行数少于指定行数文件只有3行执行head -10 file输出全部3行不会报错。2. 空文件head empty.txt无任何输出无报错。3. 标准输入读取无文件参数直接输入head会读取键盘输入按CtrlD结束输入输出前10行。八、head 与 tail 组合高级用法1. 取文件中间一段第11~20行先取前20行再取末尾10行head-20test.txt|tail-102. 查看日志最新前10条实时日志尾部再截取tail-fapp.log|head-20九、易踩坑注意点-数字只能简写行数不能简写字节head -5合法head -100c不合法字节必须写-c 100中文、换行符都会占用字节-c截取容易截断汉字乱码查看文本优先用-n负参数-n -10不能简写head --10必须完整写head -n -10二进制文件图片、压缩包慎用-n换行符混乱推荐-c十、速查表命令功能head file文件前10行head -n 8 file前8行head -8 file前8行简写head -n -5 file去掉最后5行输出剩余全部head -c 512 file前512字节head -q f1 f2多文件不打印文件名head -v file单个文件强制显示文件名cat file | head -12管道截取前12行