我刚刚读到关于使用 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 版本的角度编写的。后续版本的行为可能会有所不同。