Linux中如何实时监控文件末尾变化?tail -f命令详细解析。
- 内容介绍
- 文章标签
- 相关推荐
本文共计1079个文字,预计阅读时间需要5分钟。
当您确认日志文件不会被轮换(rotate)或重命名时,使用命令`tail -f`即可。例如,要调试本地开发服务的输出到固定路径的`app.log`,或者监控一个手动追加内容的测试文件,只需执行这个命令即可。
但只要涉及系统日志、Nginx/Apache 日志、logrotate 管理的文件,就该换成 tail -F——否则日志轮换后命令会卡住、不再输出新内容,你还以为程序没写日志。
-
-f跟的是文件描述符(fd),文件被 mv 或 logrotate 重命名后,原 fd 指向的 inode 不再写入新数据 -
-F等价于--follow=name --retry,它会定期检查文件名是否存在,发现旧文件消失、新文件出现就自动切换 - 某些老版本 busybox 或嵌入式系统可能不支持
-F,此时只能靠脚本轮询或改用inotifywait
tail -f 启动后看不到最新内容?检查这几点
常见现象是执行 tail -f /var/log/nginx/access.log 后屏幕空着,或只显示几行就停住。
本文共计1079个文字,预计阅读时间需要5分钟。
当您确认日志文件不会被轮换(rotate)或重命名时,使用命令`tail -f`即可。例如,要调试本地开发服务的输出到固定路径的`app.log`,或者监控一个手动追加内容的测试文件,只需执行这个命令即可。
但只要涉及系统日志、Nginx/Apache 日志、logrotate 管理的文件,就该换成 tail -F——否则日志轮换后命令会卡住、不再输出新内容,你还以为程序没写日志。
-
-f跟的是文件描述符(fd),文件被 mv 或 logrotate 重命名后,原 fd 指向的 inode 不再写入新数据 -
-F等价于--follow=name --retry,它会定期检查文件名是否存在,发现旧文件消失、新文件出现就自动切换 - 某些老版本 busybox 或嵌入式系统可能不支持
-F,此时只能靠脚本轮询或改用inotifywait
tail -f 启动后看不到最新内容?检查这几点
常见现象是执行 tail -f /var/log/nginx/access.log 后屏幕空着,或只显示几行就停住。

