Linux Bash脚本日志文件显示为连续屏幕
我正在创建一个写入日志文件的应用程序,我需要知道如何在Linux/Bash中连续地将日志文件显示在屏幕上(使用日志中的每一行更新屏幕) 因此,作为一个例子,让我们假设我想要将一个apache/error.log的运行日志推送到屏幕(ssh终端)上,以不断更新。尝试tail命令:Linux Bash脚本日志文件显示为连续屏幕,linux,bash,logging,Linux,Bash,Logging,我正在创建一个写入日志文件的应用程序,我需要知道如何在Linux/Bash中连续地将日志文件显示在屏幕上(使用日志中的每一行更新屏幕) 因此,作为一个例子,让我们假设我想要将一个apache/error.log的运行日志推送到屏幕(ssh终端)上,以不断更新。尝试tail命令: tail -f filename ssh{remotehost}tail-n0f{logfile} 这将在开始时为您提供零行,并连续打印文件中出现的任何新行。另一种解决方案是 less +F filename 或者
tail -f filename
ssh{remotehost}tail-n0f{logfile}
这将在开始时为您提供零行,并连续打印文件中出现的任何新行。另一种解决方案是
less +F filename
或者只需less filename
并在其中键入“F”(按shift+F)。它可能比tail
更好,因为它允许您临时取消连续打印,向后查看某个内容并再次使用“F”(shift+F)重新启用它。您还可以:
less filename.txt
and press 'F'
还有一个优点-您可以随时按住CTRL-C键并在日志中向后滚动,然后使用“F”再次开始观看。也可以使用watch命令
watch tail logfile
将显示日志文件的最后5行。它可以扩展到任何将内容打印到stdout的命令
是的,使用
tail-f
是传统的解决方案,但根据您的努力,这可能会更好。vu现在我觉得自己像个白痴。我一直使用tail命令(只是不使用-f参数)。“人尾巴”应该是我的朋友。谢谢你,这正是我想要的!!当它允许(9分钟)vu时将接受答案这甚至比写脚本更好:)(尽管我想也可以添加到脚本中)使用选项--follow=name
,即使文件已被cron作业旋转/重新创建,您也可以确保显示日志文件的内容。@aaron只是一个注释,因为您提到您正在创建应用程序,然后计划跟踪日志,只是要小心理解,仅仅因为你在应用程序中写了一行并不意味着该行已经显示在日志中,因为输出可能会被缓冲。我正在做笔记,这是一个很好的选择!此外,它还可以使用-S
标志为您截断开箱即用的长行,同时允许您在其中左/右滚动。优于tail-f file.log | cut…
方法。我不懂组合键。先按F
,然后按Shift
?还是同时按下?我试过了,但没什么不同。贝科,谢谢,只要输入“F”(Shift+F)-按住Shift,然后按F,然后松开两个键。编辑了我的答案。我对这些问题的回复时间感到非常惊讶,我试着回答了几个问题,这里有很多人在刷新按钮上的速度比我快:)谢谢你的回答/提示以及更多注释。Linux=给同一只猫剥皮的一百万种方法:)谢谢