tail 命令是 Linux/Unix 系统中用于查看文件尾部内容的实用工具,尤其适合监控日志文件更新。其核心功能及常用选项如下:
基础用法
- 显示文件末尾内容
- 默认行为:显示文件最后 10 行tail temp.log如图1所示
- 指定行数:-n 或直接写数字 tail -n 5 temp.log # 显示最后 5 行如图2所示
- 从指定行开始显示到结尾,使用 -n +行号 跳过前 N 行:tail -n +7 temp.log # 显示从第 7 行至结尾如图3所示
实时监控文件更新
- 动态跟踪新内容(日志监控)tail -f messages # 持续输出新增内容如图4所示
- 增强型监控-F,tail -F messages # 自动重试打开文件如图5所示
- 控制监控频率,tail -f -s 2 messages # 每 2 秒检查一次如图6所示
按字节显示内容
- -c 选项控制显示字节数:
tail -c 100 messages # 显示最后 100 字节如图7所示
tail -c +162000 messages # 从第162000字节显示到结尾如图8所示
多文件操作
- 同时查看多个文件,默认显示文件名标题:tail -n 5 file1.log file2.log如图9所示
- 控制文件名显示:
tail -q -n 5 file1.log file2.log # 隐藏文件名(静默模式)如图10所示
tail -v -n 5 file1.log file2.log # 强制显示文件名(冗余模式)如图11所示
高级用法
- 提取文件片段(结合head)
head -20 all.txt | tail -n 10 #显示第 11–20 行如图12所示
- 反向显示内容(结合tac)
tail -3 /etc/passwd | tac # 从新到旧显示用户如图13所示
- 查看最新修改文件
列出当前目录最近修改的 3 个文件:ls -ltr | tail -n 3如图14所示
- 显示行号(结合nl)
带行号查看尾部内容:nl file2.log | tail -n 5 如图15所示