我正在创建一个写入日志文件的应用程序,并且我需要知道在Linux/Bash中如何持续显示日志文件到屏幕(使用每一个新行更新屏幕放入日志中)。Bash脚本日志文件显示不断屏幕
作为一个例子,我们可以说我想推动运行日志apache/error.log
到屏幕(ssh终端)不断更新。
我正在创建一个写入日志文件的应用程序,并且我需要知道在Linux/Bash中如何持续显示日志文件到屏幕(使用每一个新行更新屏幕放入日志中)。Bash脚本日志文件显示不断屏幕
作为一个例子,我们可以说我想推动运行日志apache/error.log
到屏幕(ssh终端)不断更新。
尝试tail命令:
tail -f filename
vu现在我觉得自己像个白痴。我一直使用tail命令,(只是没有使用-f参数)。男人的尾巴会是我的朋友。谢谢,我正在寻找什么!当它允许(9min) – 2011-05-26 19:19:45
vu会接受答案这甚至比写脚本更好(虽然可以添加到脚本,我想也是) – 2011-05-26 19:25:42
与选项' - follow = name'你会即使该文件已被cron作业旋转/重新创建,也要确保显示日志文件的内容。 – 2011-05-26 21:12:39
ssh {remotehost} tail -n0f {logfile}
这会给你最初为零线,并连续打印出现在文件中的任何新线。
优秀的谢谢! – 2011-05-26 19:23:03
另一种解决方案是
less +F filename
或只是less filename
并输入 “F” 到它(按压移 + ˚F)。它可以比tail
更好,因为它可以让你取消连续打印临时,去落后看起来与“F”(转变 + ˚F)再次
您还可以重新启用它:
less filename.txt
and press 'F'
有一个加号 - 您可以随时按住CTRL-C并回滚到日志,然后开始再次用'F'查看。
我对这些问题的反应时间非常惊讶,我试着回答几个问题,并且有很多人在这里刷新按钮时比我更快。谢谢你的回答/提示以及 – 2011-05-26 19:31:36
watch命令也可以使用。
watch tail logfile
会显示日志文件的最后5行。它可以扩展到任何将内容打印到标准输出的命令。
是的,使用tail -f
是传统的解决方案,但取决于你正在尝试做什么,这可能会更好。
更多笔记。 Linux =一百万种方法让同一只猫变皮肤:)谢谢 – 2011-05-26 19:33:24
http://unix.stackexchange.com/questions/45626/output-file-contents-while-they-change – 2016-07-14 10:55:49