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
在跟随模式下启动。
但是,您可以使用命令行为它们添加前缀,以使它们在启动后执行+
。实际上,将
修饰符选项与组合在一起将以(修改的)跟随模式开始。 +F
less
+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
会起作用