如何使用tail命令查看日志文件新增的最后10行并实时追踪?
如何使用tail命令查看日志文件新增的最后10行并实时追踪?
嘿,我来帮你搞定这个问题!你现在用的命令其实已经差不离了,不过咱们先说说为啥它没按预期工作,再给你更靠谱的解决方案~
首先,先确认下标准的正确命令:
tail -n 10 -f /var/log/myapp/access.log
或者你也可以简化参数顺序,写成:
tail -fn 10 /var/log/myapp/access.log
这里的参数作用:
-n 10:明确指定要显示文件的最后10行-f(小写):表示"follow",会持续监听文件,一旦有新内容追加就实时输出
那为啥你的命令没生效呢?最常见的原因是日志文件被轮转了(比如系统用logrotate工具把旧日志改名归档,同时新建了一个同名的空日志文件)。这时候tail -f还在盯着原来的旧文件,自然看不到新日志了。
针对这种情况,推荐用大写的-F参数,它会自动检测文件是否被替换/重建,然后自动切换到新文件继续追踪,比小写-f更智能:
tail -n 10 -F /var/log/myapp/access.log
或者简化成:
tail -Fn 10 /var/log/myapp/access.log
最后给你两个小提示:
- 想要停止实时追踪,直接按键盘的
Ctrl+C就行 - 如果只是想查看最后10行、不需要实时监听,去掉
-f/-F参数就好
备注:内容来源于stack exchange,提问作者Siyabonga Ngele
相关产品推荐
相关产品推荐

