我正在创建一个写入日志文件的应用程序,我需要知道如何在Linux / Bash中将日志文件连续显示在屏幕上(将屏幕上的每一行都更新到屏幕上)。
因此,举个例子,假设我想将正在运行的日志推apache/error.log
送到屏幕(ssh终端)中,以不断更新。
Answers:
尝试tail命令:
tail -f filename
--follow=name
,即使cron作业已旋转/重新创建了日志文件的内容,也将确保其显示内容。
另一个解决方案是
less +F filename
或仅在less filename
其中输入“ F”(按shift+ f)。它可能比更好tail
,因为它允许您取消连续的临时打印,向后看,然后再次使用“ F”(shift+ f)重新启用它
-S
,同时允许您左右滚动它们。优于该tail -f file.log | cut ...
方法。
F
然后Shift
?还是同时按下它们?我试过了,但没关系。
watch命令也可以使用。
watch tail logfile
将向您显示日志文件的最后5行。它可以扩展到将内容输出到stdout的任何命令。
是的,使用tail -f
是传统的解决方案,但是根据您要尝试执行的操作,这可能会更好。
你也可以:
less filename.txt
and press 'F'
具有一个加号-您可以随时按CTRL-C并向后滚动日志,然后再次使用“ F”开始观看。