linux中的tail命令用于显示文件末尾的内容,是查看日志和监控输出的常用工具。它默认输出文件最后10行,并支持持续跟踪文件更新。

基本语法
tail的命令格式如下:
tail [选项] [文件]
常用参数
-n<行数>或-<行数>:指定显示末尾多少行,如tail -n 20显示最后20行-f:实时跟踪文件增长,常用于监控日志-F:类似-f,但文件被移动或重建后仍能继续跟踪-c<字节>:按字节数显示末尾内容
查看末尾指定行数
想看应用日志最后50行,可直接使用:
# 显示 access.log 最后50行 tail -n 50 access.log # 等价简写 tail -50 access.log
实时查看日志
在服务运行期间,用-f参数可动态刷新新增内容:
# 持续输出 nginx 错误日志的新内容 tail -f /var/log/nginx/error.log
若日志按天切割,原文件被重命名后新建,应使用-F避免跟踪中断:
tail -F app.log
结合管道过滤
tail能从标准输入读取数据,因此可与grep配合只显示关心的错误:
# 实时查看日志中包含 ERROR 的行 tail -f app.log | grep "ERROR"
多文件查看
同时监视多个文件时,tail会在内容前标注文件名:
tail -f app.log db.log
参数对比
| 参数 | 作用 | 适用场景 |
|---|---|---|
| -n | 控制输出行数 | 快速回顾近期记录 |
| -f | 跟踪文件追加 | 临时日志监控 |
| -F | 跟踪且容错重建 | 长期 daemon 监控 |
注意事项
使用tail -f时按Ctrl+C退出。若文件无写入,终端会静默等待。对于二进制文件,建议加-c参数并按需转码,避免乱码刷屏。