我正在创建一个写入日志文件的应用程序,我需要知道如何在Linux / Bash中连续显示日志文件到屏幕上(更新屏幕时每个新行放入日志中)。
举个例子,假设我想将apache/error.log
的运行日志推送到屏幕(ssh终端)不断更新。
答案 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}
这将最初为您提供零线,并连续打印出现在文件中的所有新行。