为什么 less +F 说“无法打开‘+F’”?

为什么 less +F 说“无法打开‘+F’”?

我刚刚读到关于使用 less +F 而不是 tail -f 的优势,想尝试一下。当我这样做时,我得到了以下结果:

less +F /log/nginx_error.log
less: can't open '+F': No such file or directory

使用不带 +F 选项的 less 可以正常工作。发生了什么?

答案1

我在几个 Raspberry Pi 上测试了该命令,一个运行 Wheezy,一个运行 Jessie,该less +F <filename>命令在两个上运行均按预期运行。

由于我们确定您使用的是 BusyBox(嵌入式 Linux)而不是完整发行版,所以您可能没有支持该+F标志的当前/功能齐全的 LESS 版本。

答案2

+F不是拼写错误。它启用了F命令,即“向前滚动”。从手册页中:

如果命令行选项以 + 开头,则该选项的其余部分将被视为 less 的初始命令。

因此,您的版本less不支持此命令。我猜 GNU Linux 和 BSD 会实现此命令 - 显然您的 BusyBox 安装没有实现。

答案3

在我看来,+F可能是 的拼写错误-F。后者是一个可识别的标志,根据手册页,

如果整个文件可以在第一个屏幕上显示,则会导致 less 自动退出。

虽然我看不出与less -F有什么关系tail -f,但它至少是一个公认的标志。+F另一方面, 不是,所以它被解释为命令的文件名(参数),而且由于它找不到这样的文件,它会返回一个错误。


PS:以上内容是从使用 less 481 版本的角度编写的。后续版本的行为可能会有所不同。

相关内容