Linux中的head与tail命令及用法详解
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。
📖head与tail命令详解
1. 命令简介
head:默认显示文件的 前 10 行 内容,可指定行数或字节数。tail:默认显示文件的 后 10 行 内容,可实时跟踪文件更新,常用于查看日志。
2. 基本语法
head [选项] [文件...] 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基本用法
head file.txt
👉 显示 file.txt 的前 10 行。
head -n 20 file.txt
👉 显示前 20 行。
head -c 100 file.txt
👉 显示前 100 个字节内容。
head file1 file2
👉 显示多个文件的前 10 行。
5.2tail基本用法
tail file.txt
👉 显示 file.txt 的最后 10 行。
tail -n 50 file.txt
👉 显示最后 50 行。
tail -c 200 file.txt
👉 显示最后 200 字节内容。
tail -f /var/log/messages
👉 实时跟踪日志文件的更新(常用)。
tail -F /var/log/nginx/access.log
👉 即使日志文件被轮转(替换),也会继续跟踪新文件。
6. 运维实战场景
场景 A:查看配置文件开头
head -n 20 /etc/passwd
👉 查看系统用户列表的前 20 行。
场景 B:快速定位日志结尾
tail -n 100 /var/log/syslog
👉 查看最近的 100 行日志。
场景 C:实时跟踪日志
tail -f /var/log/nginx/error.log
👉 调试 Nginx 错误日志。
场景 D:多文件日志合并跟踪
tail -f /var/log/nginx/*.log
👉 同时跟踪多个日志文件。
场景 E:查看二进制文件头信息
head -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(实时日志跟踪)
到此这篇关于Linux中的head与tail命令详解的文章就介绍到这了,更多相关linux head与tail命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
一天一个shell命令 linux文件操作系列-ln命令详解
这篇文章主要介绍了一天一个shell命令 linux文件操作系列-ln命令详解 ,需要的朋友可以参考下2016-06-06
fedora 23 lvm2格式 根目录磁盘空间不足 扩容方法
下面小编就为大家带来一篇fedora 23 lvm2格式 根目录磁盘空间不足 扩容方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-02-02


最新评论