答案1
我认为您已经涵盖了要点:less +F
读取整个文件,而在许多系统上tail -f
仅读取文件的末尾,即使在读取整个文件的系统上,至少它不会保留整个文件在记忆中。这less +F
对于非常大的文件来说是不切实际的。但是,您可以运行less -n +F
,这会导致less
仅读取文件末尾,但代价是不显示行号。
在底层,less -n +F
和之间的tail -f
主要区别在于,tail
在某些平台上使用文件更改通知服务(例如,Linux 上的 inotify),这允许它立即显示新数据,而less
可能需要长达 1 秒的时间才能显示新数据因为它会在循环中检查新数据并在检查之间休眠。
less +F
和之间的另一个区别tail -f
是,它将less
调用其输入过滤器,但这通常不会对日志文件产生任何影响。
支持的一个技术差异less +F
是,您可以使用选项使其在屏幕宽度处截断行-S
,而tail
您别无选择,只能显示整行,无论它有多长。
从接口角度来看,使用less
. tail -f
当事情发生时注意到是有用的。您甚至可以在后台运行它。如果发生某些情况并且您想更详细地查看该文件,您可以less
在另一个终端中打开它。
如果您想观看多个文件,多尾是要走的路。即使对于单个文件,多尾也具有额外的漂亮功能,例如过滤和着色。