Bash脚本日志文件连续显示到屏幕

时间:2011-05-26 19:14:47

标签: linux bash logging

我正在创建一个写入日志文件的应用程序,我需要知道如何在Linux / Bash中连续显示日志文件到屏幕上(更新屏幕时每个新行放入日志中)。

举个例子,假设我想将apache/error.log的运行日志推送到屏幕(ssh终端)不断更新。

5 个答案:

答案 0 :(得分:96)

尝试使用tail命令:

tail -f filename

答案 1 :(得分:24)

另一种解决方案是

 less +F filename

或只是less filename并在其中键入“F”(按 shift + f )。它可能比tail更好,因为它允许你取消临时连续打印,后退查看某些内容并用“F”重新启用它( shift + f )再次

答案 2 :(得分:10)

watch命令也可以使用。

watch tail logfile

将显示日志文件的最后5行。它可以扩展到任何将东西打印到stdout的命令。

是的,使用tail -f是传统的解决方案,但根据您的尝试,这可能会更好。

答案 3 :(得分:6)

你也可以:

less filename.txt
and press 'F'

有一个加号 - 您可以随时CTRL-C并在日志中向后滚动并再次使用'F'开始观看。

答案 4 :(得分:5)

ssh {remotehost} tail -n0f {logfile}

这将最初为您提供零线,并连续打印出现在文件中的所有新行。