head 与 tail 就像它的名字一样的浅显易懂它是用来显示开头或结尾某个数量的文字区块head 用来显示档案的开头至标准输出中而 tail 想当然尔就是看档案的结尾。head与tail命令详解1. 命令简介head默认显示文件的前 10 行内容可指定行数或字节数。tail默认显示文件的后 10 行内容可实时跟踪文件更新常用于查看日志。2. 基本语法12head[选项] [文件...]tail[选项] [文件...]文件一个或多个目标文件若省略则从标准输入读取。输出结果打印到标准输出可配合、、管道使用。3. 常用选项head选项说明-n 行数显示前 N 行-c 字节数显示前 N 字节-q安静模式多文件时不显示文件名-v总是显示文件名即使只有一个文件tail选项说明-n 行数显示最后 N 行-c 字节数显示最后 N 字节-f持续跟踪文件增长实时输出新内容-F类似-f但文件被替换时自动重新打开常用于日志-q多文件时不显示文件名-v总是显示文件名4. 权限要求用户必须对文件有读权限 ®才能使用head或tail。若从管道读取数据则不依赖文件权限。5. 使用示例5.1head基本用法1head file.txt 显示file.txt的前 10 行。1head -n 20 file.txt 显示前 20 行。1head -c 100 file.txt 显示前 100 个字节内容。1head file1 file2 显示多个文件的前 10 行。5.2tail基本用法1tail file.txt 显示file.txt的最后 10 行。1tail -n 50 file.txt 显示最后 50 行。1tail -c 200 file.txt 显示最后 200 字节内容。1tail-f/var/log/messages 实时跟踪日志文件的更新常用。1tail-F/var/log/nginx/access.log 即使日志文件被轮转替换也会继续跟踪新文件。6. 运维实战场景场景 A查看配置文件开头1head-n 20/etc/passwd 查看系统用户列表的前 20 行。场景 B快速定位日志结尾1tail-n 100/var/log/syslog 查看最近的 100 行日志。场景 C实时跟踪日志1tail-f/var/log/nginx/error.log 调试 Nginx 错误日志。场景 D多文件日志合并跟踪1tail-f/var/log/nginx/*.log 同时跟踪多个日志文件。场景 E查看二进制文件头信息1head-c 512/bin/bash| hexdump -C 查看 ELF 文件头。7. 注意事项默认行数head和tail默认输出 10 行。大文件性能tail -f会保持进程挂起长期使用需注意资源占用。日志轮转问题使用tail -f时如果日志被切割替换可能会“失效”推荐tail -F。字节模式风险-c按字节截取可能会破坏多字节字符如 UTF-8 中文。8. 小结head适合查看文件开头常用于配置文件、数据文件的结构检查。tail适合查看文件结尾或实时更新是日志分析必备工具。运维中最常用的是head -n查看开头几行tail -n查看结尾几行tail -f/tail -F实时日志跟踪