在这种情况下使用或多或少

在这种情况下使用或多或少

我正在大学参加 Linux 简介课程。我们的老师希望我们展示一个可用于此问题的命令:

“使用提供逐行导航的分页控件显示文件的内容。”

他说唯一正确的答案是“少”。但“少”和“多”难道不能以同样的方式运作吗?您可以逐行(Enter)或逐页(空格),两者都正确吗?

编辑:

我想我应该问是否更多的较少的(抱歉,我不确定如何像其他海报一样格式化这些文字和图像)可以以相对相同的方式进行操作,因为它们都可以逐行或逐页浏览文件或目录(全屏在一次)。我认为他们要么可以,要么不能。

根据我的经验,阅读(我有一本 Linux+ 书,其中也指出它们可以进行相同的操作)和评论,例如安东尼的,看来它们都以这种方式运作。

答案1

我不认为老师的问题对于学习 Unix 的人来说特别有用——他们期望的答案更不那么有用。该less实用程序广泛用于现代类 Unix 操作系统,但实际上并不是 POSIX 强制要求的。另一方面,more效用是由 POSIX 指定– 该规范包括逐行导航。

POSIX 描述more为一个实用程序“逐页显示文件”但它的扩展描述描述逐行导航功能,例如,向前滚动一行。就其价值而言,more我个人使用过的任何实现都只允许Enter按一次向前滚动一行(因此不完全符合 POSIX)。

请注意,在某些系统上,more可以符号链接到less可执行文件。在这种情况下,less模拟more命令(由 POSIX 指定)。您可能认为您正在运行more- 但实际上,您正在运行less(也可以通过将环境变量设置LESS_IS_MORE为 1 来实现此模拟)。您可以通过在查看文件时按, ie ,然后按 来判断您是否确实less在此兼容模式下运行。这将打印if running in的版本号,例如,在(大多数实现)中,它将不执行任何操作。-V-ShiftVlesslessless 481more

答案2

More只能向前移动,但less也可以向后移动到文件的开头。

答案3

Less命令只是将您在终端中看到的内容缓冲到内存中。但more命令会将文件的所有内容缓冲到内存中,然后显示内容。它们之间唯一但确实很大的区别。越少越好:)

答案4

使用more,您可以向后导航:使用 进行“逐行”导航k或使用 进行“逐页”导航b

相关内容