跑步非常方便,因为你可以分别用-和-less +F file
切换进出永远前进模式。CtrlC⇧F
不幸的是,新的台词会出现延迟,当您观看并与其他内容进行比较时,这会非常令人恼火。
tail -f
没有这种延迟,但是您无法轻松地切换出永远前进模式来向上滚动或搜索或执行其他操作。
有没有办法将两者的优点结合起来?
答案1
您在使用时遇到延迟的原因less +F
是(摘自这个答案,这太好了,我会逐字引用):
less +F
读取整个文件,而在许多系统上tail -f
只读取文件的末尾,即使在读取整个文件的系统上,至少它不会将整个文件保留在内存中。这less +F
对于非常大的文件来说是不切实际的。但是,您可以运行less -n +F
,这会导致 less 只读取文件末尾,但代价是不显示数字。在底层,
less -n +F
和tail -f
does 之间的主要区别在于,tail
在某些平台上使用文件更改通知服务(例如 Linux 上的 inotify),这允许它立即显示新数据,而less
可能需要长达 1 秒的时间才能显示新数据因为它会在循环中检查新数据并在检查之间休眠。