如何在Linux上使用LESS命令

LESS命令允许您翻阅文本文件,每次显示整屏文本。乍一看,这似乎是最简单的Linux命令之一,但它的功能远比表面看起来要多得多。

Less的历史

Linux和Unix中的一切都有其历史,没有双关语的意思。Less程序基于More程序,该程序最初于1978年在Berkeley Software Distribution Unix(3.0BSD)的3.0版中发布。More允许您逐步翻阅文本文件,一次显示一整屏文本。

需求是发明之母,正是More的早期版本无法向后滚动文件,促使Mark Nudelman减少开发并克服这一特定问题。这项工作始于1983年,第一个版本于1985年在他工作的公司以外发布。截至2019年10月,他仍然是LESS的维护者。

我想知道有没有Linux用户没有用得更少?即使他们没有使用它来对选定的文本文件进行分页,他们也很可能使用了man命令。而且,人们在幕后显示手册页的次数也较少。

这是一个有很多窍门的命令。

为什么少比多好

多年来,稳步增加的数量有所减少。它有数量惊人的命令行选项和应用程序中的命令击键。快速比较一下适用于较少内容的手册页和适用于更多内容的手册页,您将开始看到绝对较少的内容如何胜过更多的内容。

More已经克服了最初的缺陷,即不能向后翻阅文本,但只能对文件进行翻页。它不能通过管道输入向后分页。你可以用更少的钱做到这一点。

凭借其在导航文件、查看多个文件、搜索文本、拖放和返回到书签以及处理管道输入方面的灵活性,更少的用户会轻松取胜。少用而不是多用。

读取包含较少内容的文件

要将文件加载到LESS中,请在命令行中提供该文件的名称:

less Dr-Jekyll-and-Mr-Hyde-001.txt

将加载并显示该文件。文件的顶部(或“开始”)显示在终端窗口中。您可以使用鼠标的滚轮向前和向后滚动文本。

在键盘上,使用空格键或Page Down键一次向前移动一屏文本。

向上翻页将在整个文件中向后移动(朝向文件的“开始”)。Home和End键将分别将您直接带到文本文件的开始和结束位置。

文件名显示在显示屏的左下角。当您开始在文件中移动时,底线将被清除。它用于向您显示消息,并供您在中输入命令。

按“Q”键退出次数较少。

显示行号

要为文本文件的行编号,请使用-N(行号)选项。

less -N Dr-Jekyll-and-Mr-Hyde-001.txt

行号可用于引导您返回到日志文件和其他非标准散文编写的文件中的特定行或节。

在更少的地方搜索

要搜索文件文本,请按“/”,然后键入您的搜索短语。搜索区分大小写。您的搜索短语将显示在显示屏的最下面一行。按“回车”进行搜索。

在本例中,搜索词是“Enfield”,可以在显示的底部看到。

搜索从当前页面进行到文本文件的末尾。要搜索整个文件,请在搜索之前移动到文件顶部。

如果没有火柴,你会被告知的。如果找到匹配项,显示屏将移动以显示找到的项目。

要查找下一个匹配项,请按“n”。要搜索上一个匹配项,请按“N”。

要从文件中的当前位置向后搜索到文件开头,请按“?”键并键入您的搜索词。要查找下一个匹配项,请按“n”。要搜索上一个匹配项,请按“N”。

请注意,当您向后搜索时,下一个匹配项(用“n”找到)是更靠近文件顶部的下一个匹配项,前一个匹配项的“N”将查找更接近文件底部的匹配项。换句话说,当您向后搜索时,“n”和“N”会颠倒其搜索方向。

使用搜索词打开文件

您可以使用-p(模式)选项来减少搜索文本文件并找到第一个匹配项的工作量。然后,它将显示包含匹配搜索项目的页面,而不是文件的第一页。当然,除非在文件的第一页上找到搜索项。

注意,在-p和搜索词之间没有空格。

less -pEnfield Dr-Jekyll-and-Mr-Hyde-001.txt

将显示该文件,并突出显示第一个匹配的搜索词。

在更少的地方导航:最有用的关键

使用这些键在文本文件中移动和搜索。

向前移动一行:向下箭头,输入、e或j。 向后移动一行:向上箭头、y或k。 向前移动一页:空格键或向下翻页。 向后移动一页:向上翻页或b页。 向右滚动:右箭头。 向左滚动:向左箭头。 跳至文件顶部:home或g。 跳至文件末尾:END或G。 跳转到特定行:键入行号“”,然后按“g”。 跳转到文件中的百分比:键入百分比,然后按“p”或“%”。(您甚至可以输入十进制值,因此要通过文件跳到27.2%这一点,请键入“27.2”,然后点击“p”或“%”。为什么要使用小数?老实说,我不知道。)。 向前搜索:点击“/”并键入您的搜索,如“/Jekyll”,然后按Enter键。 向后搜索:点击“?”然后键入您的搜索,如“/Hyde”,然后按Enter键。 下一个匹配的搜索项目:n。 上一个匹配的搜索项目:n。 退出:Q

挤压空白行

s(压缩空行)选项删除一系列空行,并将其替换为单个空行。

我们的示例文件中有两个连续的空行,让我们看看在使用-s选项时LESS是如何处理它们的:

less -s Dr-Jekyll-and-Mr-Hyde-001.txt

在每种情况下,所有双(或更多)空行都已替换为单空行。

查看多个文件

LESS可以为您打开多个文件。您可以在文件之间来回跳转。没有人会记住您在每个文件中的位置。

less Dr-Jekyll-and-Mr-Hyde-001.txt Dr-Jekyll-and-Mr-Hyde-002.txt

将打开这些文件,并显示第一个文件。将显示您正在查看哪个文件,以及已加载了多少个文件。下面突出显示了这一点。

要查看下一个文件,请按“:”,然后按“n”。

您的显示将更改为显示第二个文件,并且更新底部的信息以显示您正在查看第二个文件。下面突出显示了这一点。

要移动到上一个文件,请键入“:”,然后按“p”。

使用标记

LESS允许您放下标记,以便您可以轻松返回到标记的段落。每个标记都由一个字母表示。要将标记放在最上面显示的行上,请按“m”,然后点击要使用的字母,如“a”。

当您按“m”时,显示屏的最下面一行会在等待您按字母键时显示提示。

您一按字母,提示符就会被删除。

从文件中的任何其他位置,按撇号(或单引号)“‘”,然后按要返回的标记的字母,即可轻松返回到标记。当您按“’”键时,系统会提示您输入要转到的标记。

按下要返回的标记的字母,将为您显示文本文件的该部分。

使用较少的管道输入

LESS可以显示管道文本流形式的信息,就像显示文件一样容易。

dmesg命令显示内核环形缓冲区消息。我们可以使用以下命令将dmesg命令的输出输送到LESS:

dmesg | less

将显示dmesg的输出。

您可以对管道输入进行分页和搜索,就像它是一个文件一样。要查看最新的邮件,请单击“结束”转到文件的底部。

当新邮件到达时,您必须不断按“End”以强制LESS显示文件的底部。这不太方便。要使LESS始终显示文本的底部,即使在添加新数据时也是如此,请使用+F+(前进)选项。请注意使用++和NOT-作为选项标志。

dmesg | less +F

+OPTION标志告诉LESS将选项视为您在LESS内部使用了该命令。因此,如果您忘记使用+F选项,请在LESS中按“F”。

LESS显示文本底部,其中显示来自dmesg的最新消息。它会显示一条消息,说明它正在等待更多数据。当出现更多内核消息时,显示屏会滚动,以便您始终可以看到最新的消息。

您不能在此模式下滚动或翻页;它专门用于显示管道文本的底部。要退出他的模式,请按Ctrl+c,您将返回到通常较少交互的模式。

使用较少资源编辑文件

你可以用更少的-嗯,某种程度上编辑文件。此命令不能编辑文件,但如果您在查看文件时键入“v”,则该文件将传输到默认编辑器。当您离开编辑器时,您将返回到LESS。

在以下版本中查看文件时按“v”:

该文件将加载到默认编辑器中,在本例中为Nano:

当您关闭编辑器时,您将转到LESS。

在摘要中

尽管看起来有违直觉,但在这种情况下>更多。

相关文章