![“少” 和 “多” 有什么区别?](https://linux22.com/image/795374/%E2%80%9C%E5%B0%91%E2%80%9D%20%E5%92%8C%20%E2%80%9C%E5%A4%9A%E2%80%9D%20%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F.png)
据我了解, +less
具有more
向上滚动的功能。这样对吗?有什么理由使用more
而不是less
?我是否遗漏了任何重大差异?
答案1
less 是一个全屏应用程序,它为您提供一个可搜索、可滚动的窗口,并在您退出后清除屏幕,less 也可以像其他全屏终端应用程序一样在后台运行和恢复。less 还有一个命令可以在您的默认编辑器中打开当前查看的文件。
more 只是按原样打印文本,在分页符处停止,并且不会清除屏幕,它可以在后台运行,但不会清除屏幕。more 也只会在显示时读取文件,而 less 可能会先将文件读入内存。每个处理换行的方式都不同,这会在选择和粘贴文本时产生不同的结果。
这两种工具都具有相同的功能,但是实现方式不同,因此您可以根据当前情况选择所需的工具。
答案2
从我的less(1)
:
描述
Less 是一个与 more (1) 类似的程序,但它允许在文件中向后移动和向前移动。此外,less 在启动前不必读取整个输入文件,因此对于大型输入文件,它的启动速度比 vi (1) 等文本编辑器更快。
[...]
兼容更多
如果环境变量 LESS_IS_MORE 设置为 1,或者通过名为“more”的文件链接调用程序,则 less 的行为(大部分)符合 POSIX“more”命令规范。
如果你检查一下,你可能会发现在你的系统上,less
实际上正是more
,具有如上所述的兼容性:
$ shasum $(which less) $(which more)
268084f9ca3528888f01010b1f4f49100177f553 /usr/bin/less
268084f9ca3528888f01010b1f4f49100177f553 /usr/bin/more