Answers:
less --follow-name如果您的less支持版本使用。该选项在版本416中引入。
该less选项--follow-name只是解决方案的一部分;
要替换tail -F,需要另一个参数:
less --follow-name +F file.log
单独的like之类的选项less --follow-name file.log实际上并未在文件更新之后开始。您需要按进入跟随模式ShiftF。
(退出模式以导航ControlC。)
而不是关注文件,而是--follow-name 修改 less 的行为。
它使命令键ShiftF的内部less基于文件名,而不是文件描述如下。
同样,没有正常的选项可以less在跟随模式下启动。
但是,您可以使用命令行为它们添加前缀,以使它们在启动后执行+。实际上,将
修饰符选项与组合在一起将以(修改的)跟随模式开始。 +Fless
+F单独使用相当于Plain tail -f:
less +F file.log
我刚刚在此U&L问答题中找到了答案:如何进行tail -f日志轮换文件?。
tail:(如果可以选择在系统上安装GNU tail)
tail -F program.log
从尾页手册页:
-f, --follow[={name|descriptor}]
output appended data as the file grows; -f,
--follow, and --follow=descriptor are equivalent
-F same as --follow=name --retry
--retry keep trying to open a file even when it is or becomes
inaccessible; useful when following by name, i.e., with
--follow=name
关键是--retry开关。这告诉tail命令继续尝试按名称跟踪文件。该-F开关确实既-f和--retry。
less正如@StephaneChazela在评论中指出的那样,以下操作无效。
tail -F program.log | less
您唯一的其他选择是假设直接支持--follow-name开关和less文件,直接使用较少的内容,而tail完全放弃使用。
less --follow-name program.log
less如果执行“ G”或“ F”会挂起。您可以通过执行“ Ctrl-C”来打断它,但是它会杀死尾巴。然后,您可以对Ctrl-C免除尾巴,但是它仍然不是很有用。
tail -F program.log | less会起作用