爱技术 & 爱分享
爱蛋蛋 & 爱生活

less命令

less命令的的选项与命令参数很多,所以这篇文章会稍显臃肿。不过我会尽可能的阐述的清晰一些。

less(1)是类似于more(1)的程序。 另外,在启动之前,不需要读取整个输入文件,所以对于大型输入文件,启动速度比文本编辑器(如vi)要快。

less命令使用termcap(或者某些系统上的terminfo),所以可以在各种终端上运行。

对硬拷贝终端的支持甚至有限。(在硬拷贝终端上,应该在屏幕顶部打印的线是用插入符号固定的。)

命令格式

less -?
less --help
less -V
less --version
less [-[+]aABcCdeEfFgGiIJKLmMnNqQrRsSuUVwWX~] [-b space] [-h lines] [-j line] [-k keyfile] [-{oO} logfile] [-p pattern] [-P prompt] [-t tag] [-T tagsfile] [-x tab,...] [-y lines] [-[z] lines] [-# shift] [+[+]cmd] [--] [filename]...

选项

命令行选项如下所述。大多数选项可以通过“-”命令在运行less时更改。

大多数选项可以用以下两种形式之一给出:一个破折号后跟一个单字母,或两个破折号后跟一个长选项名称。

只要缩写是明确的,则长选项名称可以缩写。

例如,--quit-at-eof可以缩写为--quit,但不是–qui,因为–quit-at-eof和–quiet以-qui开头。

一些长选项名称是大写的,例如-QUIT-AT-EOF,与-quit-at-eof不同。这些选项名称只需要首字母大写;这个名字的其余部分可以在任何情况下。例如,–Quit-at-eof相当于–QUIT-AT-EOF。

less命令的选项也会从环境变量LESS中获取,为了避免每次使用less时都输入“less -options …”,你可能会告诉csh: setenv LESS "-options" 或者 sh: LESS="-options"; export LESS,
在MS-DOS上,不需要引号,但是应该用双百分号来替换选项字符串中的任何百分号。

环境变量在命令行之前被解析,所以命令行选项会覆盖LESS环境变量。如果LESS变量中出现一个选项,则可以通过使用“ – +”开始命令行选项,将其重置为命令行的默认值。

有些选项(如-k或-D)需要在选项之后接一个字符串。 当遇到美元符号($)时,该选项的字符串被视为结束。 例如,您可以在MS-DOS上设置两个-D选项,如下所示:LESS =“Dn9.1 $ Ds4.1”

如果–use-backslash选项出现在选项的前面,那么美元符号($)或反斜线()可以包含在一个选项字符串中,方法是在前面加一个反斜杠(\)。 如果 – use-backslash选项不起作用,则反斜杠()不会被专门处理,并且没有办法在选项字符串中包含美元符号($)。

选项 解释
-? or –help 该选项显示less接受的命令的摘要(与运行less时的h命令相同)。 (根据您的shell解释问号的方式不同,可能需要引用问号,例如:“ – \?”。)
-a or –search-skip-screen 默认情况下,向前(这里应该表述为往文件末尾)搜索从显示屏幕的顶部开始,向后(往文件首部)搜索从显示屏幕的底部开始(除了分别在“目标”行之后或之前开始的n或N个命令调用的重复搜索外,请参阅 -j选项 以查看更多关于目标行的信息)。 -a选项会使向前(往尾部方向)搜索从屏幕底部开始,向后(往首部方向)搜索从屏幕顶部开始,从而跳过屏幕上显示的所有行。
-A or –SEARCH-SKIP-SCREEN 使所有向前搜索(不仅仅是非重复搜索)在目标行之后开始,所有向后搜索在目标行之前开始。 因此,向前搜索将跳过显示屏幕的一部分(从第一行到目标行并包括目标行)。 类似的向后搜索将从最后一行直到并包括目标行跳过显示的屏幕。 这是441之前版本的默认行为。再次强调,向前代表去往尾部方向,向后代表去往首部方向
-bn or –buffers=n 指定每个文件在less命令中的缓冲区空间量,单位为kb(1024 bytes)。 默认情况下,每个文件使用64K的缓冲区空间(除非文件是管道;请参阅-B选项)。 -b选项指定应为每个文件使用n千字节的缓冲区空间。 如果n是-1,则缓冲区空间是无限的; 也就是说,整个文件可以被读入内存。
-B or –auto-buffers 默认情况下,从管道读取数据时,会根据需要自动分配缓冲区。 如果从管道中读取大量数据,可能会导致大量的内存分配。 -B选项将禁用此管道的缓冲区的自动分配,因此管道仅使用64K(或由-b选项指定的空间量)。 警告:使用-B可能会导致错误的显示,因为只有最近浏览过的部分管道数据才会保留在内存中。 任何较早的数据都将丢失。
-c or –clear-screen 导致从最上面一行向下绘制的全屏重新绘制。 默认情况下,全屏重绘是通过从屏幕底部滚动来完成的。
-C or –CLEAR-SCREEN 与-c选项相同,只是为了兼容老版本命令。
-d or –dumb -d选项可以抑制终端无法正常显示的错误信息。也就是说,缺乏一些重要的能力,比如清屏或向后滚动的能力。-d选项不会改变这些终端上less 的行为。
-Dxcolor or –color=xcolor 仅限于[MS-DOS] 设置显示文本的颜色。 x是单个字符,用于选择正在设置颜色的文本类型:n =正常,s =突出,d =粗体,u =下划线,k =眨眼。颜色是由句号分隔的一对数字。第一个数字选择前景色,第二个数字选择文本的背景色。单个数字N与N.M相同,其中M是正常的背景颜色。
-e or –quit-at-eof 设置 less 在第二次到达文件结尾时自动退出。默认情况下,退出的唯一方法是通过“q”命令。
-E or –QUIT-AT-EOF 设置 less 在第一次到达文件结尾时自动退出。
-f or –force 强制打开非常规文件。 (非常规文件是一个目录或一个设备专用文件。)当打开二进制文件时,也禁止警告消息。默认情况下,less会拒绝打开非常规文件。请注意,即使设置了-f,某些操作系统也不允许读取目录。
-F or –quit-if-one-screen 如果整个文件可以显示在一个屏幕上,会自动退出less。
-g or –hilite-search 通常情况下,less 会突出显示与上一个搜索命令匹配的所有字符串。 -g选项改变了这种行为,只突出了上次搜索命令找到的特定字符串。这可能会让运行速度比默认情况稍快。
-G or –HILITE-SEARCH -G选项禁用所有搜索到字符串的高亮
–old-bot 恢复到屏幕展示的旧底部。当向前滚动,如果在到达终端的底部时长句子没有被正确包括,这可能有时是可取的。
-hn or –max-back-scroll=n 指定要向后滚动的最大行数。如果需要向后滚动多于n行,则屏幕会正向重新绘制。 (如果终端不能向后滚动,则暗示-h0。)
-i or –ignore-case 设置搜索忽略大小写;也就是说,大写和小写都被认为是相同的。如果在搜索模式中出现任何大写字母,则忽略此选项;换句话说,如果一个模式包含大写字母,那么这个搜索不会忽略大小写。
-I or –IGNORE-CASE 跟-i差不多,但是有一点不同即使模式包含大写字母,搜索也会忽略大小写。
-jn or –jump-target=n 在屏幕上指定“目标”行的位置。目标行是由任何,搜索模式串,跳转到行号,跳转到文件百分比或跳转到标记,命令指定的行。屏幕行可以由一个数字指定:屏幕的最上面一行是1,下一行是2,依此类推。该数字可能是负数,以指定相对于屏幕底部的一行:屏幕底部的行是-1,底部的第二行是-2,依此类推。 或者,屏幕线可以指定为屏幕高度的一小部分,从小数点开始:.5在屏幕的中间,.3是从第一行开始的三分之一,依此类推。如果将行指定为分数,则在重新计算终端窗口时重新计算实际行数,以使目标行保持在屏幕高度的指定分数处。如果使用任何形式的-j选项,则前向搜索将从紧靠目标行之后的行开始,向后搜索将从目标行开始,除非由-a或-A更改。例如,如果使用“-j4”,则目标行是屏幕上的第四行,因此向前搜索将从屏幕的第五行开始。
-J or –status-column 在屏幕左边显示状态栏。状态栏显示与当前搜索匹配的行。如果-w或-W选项有效,还会使用状态列。
-kfilename or –lesskey-file=filename 设置less打开并将指定的文件解释为lesskey(1)文件。可以指定多个-k选项。如果设置了LESSKEY或LESSKEY_SYSTEM环境变量,或者在标准位置找到lesskey文件(请参阅KEY BINDINGS),它也可以用作lesskey文件。
-K or –quit-on-intr 当输入一个中断字符(通常是^ C)时,会导致less立即退出(状态2)。通常,中断字符会导致less停止正在执行的操作并返回到其命令提示符。请注意,使用此选项将无法从“F”命令返回到命令提示符。
-L or –no-lessopen 忽略LESSOPEN环境变量(参见下面的INPUT PREPROCESSOR部分)。这个选项可以在less中设置,但是它只适用于随后打开的文件,而不适用于当前打开的文件。
-m or –long-prompt 设置less以冗长的百分比的形式提示位于当前文件中的位置(跟more命令一样)。默认情况下,less用冒号提示。
-M or –LONG-PROMPT 设置less的提示甚至比more的详细。
-n or –line-numbers 禁止行号。在某些情况下,默认(使用行号)可能会导致运行速度减慢,尤其是在输入文件非常大的情况下。用-n选项抑制行号可以避免这个问题。使用行号意味着:行号将显示在详细提示符和=命令中,v命令将当前行号传递给编辑器(另请参阅下面的PROMPTS中对LESSEDIT的讨论)。
-N or –LINE-NUMBERS 设置行号显示在显示屏中每行的开头。
-ofilename or –log-file=filename 在查看时,会将其输入复制到指定的文件。这只适用于输入文件是管道而不是普通文件的情况。如果文件已经存在,less会覆盖它之前要求确认。
-Ofilename or –LOG-FILE=filename -O选项与-o相似,但会覆盖现有文件而不要求确认。如果没有指定日志文件,则可以在less内使用-o和-O选项来指定日志文件。没有文件名,他们只会报告日志文件的名称。 “s”命令相当于从less中指定-o。
-ppattern or –pattern=pattern 命令行上的-p选项等同于指定/ pattern;也就是说,它告诉less从文件中第一次出现的模式串的地方开始。
-Pprompt or –prompt=prompt 提供一种根据自己的喜好定制三种提示样式的方法。这个选项通常放在LESS环境变量中,而不是用less命令输入。这样的选项必须是LESS变量的最后一个选项,或者以美元符号结尾。 -Ps后跟一个字符串将默认(短)提示改为该字符串。 -Pm更改媒体(-m)提示。 -PM更改长(-M)提示。 -Ph更改帮助屏幕的提示。 -P=更改=命令打印的消息。 -Pw在等待数据时更改打印的消息(在F命令中)。所有提示字符串由一系列字母和特殊的转义序列组成。有关更多详细信息,请参阅PROMPTS部分。
-q or –quiet or –silent 设置适度的“安静”操作:如果尝试滚动文件末尾或在文件开始之前,终端不会响铃。如果终端具有“视觉响铃”,则用它代替。铃声会在某些其他错误,例如输入无效的字符时响起。在所有这些情况下,默认是响铃。
-Q or –QUIET or –SILENT 设置完全“安静”的操作:终端从不响铃。
-r or –raw-control-chars 设置显示“原始”控制字符。缺省值是使用插入符号显示控制字符;例如,control-A(八进制001)显示为“^ A”。警告:当使用-r选项时,less不能跟踪屏幕的实际外观(因为这取决于屏幕如何响应每种类型的控制字符)。因此,可能导致各种显示问题,例如长句子被错误地分割。
-R or –RAW-CONTROL-CHARS 类似-r,但只有ANSI“颜色”转义序列以“原始”形式输出。与-r不同,在大多数情况下,屏幕外观是正常显示的。 ANSI“颜色”转义序列是以下形式的序列:ESC [ … m 其中“…”是零个或多个颜色,指定字符为了跟踪屏幕外观,ANSI颜色转义序列被假定为不移动光标。您可以让less认为“m”以外的字符可以通过设置环境变量LESSANSIENDCHARS方式作为可以结束颜色转义序列的字符列表,来结束ANSI颜色转义序列。而且你可以通过设置环境变量LESSANSIMIDCHARS为可以出现的字符列表,让less认为ESC和m之间可能出现非标准字符。
-s or –squeeze-blank-lines 设置连续的空白行被压缩到一个空行。查看nroff输出时这很有用。
-S or –chop-long-lines 设置比屏幕宽度更长的行被切碎(截断)。也就是说,不显示超出屏幕宽度的部分。默认情况下是换行较长的行;也就是在下一行显示余数。
-ttag or –tag=tag -t选项后跟一个TAG,将编辑包含该标签的文件。为此,标签信息必须可用;例如,当前目录中可能有一个名为“tags”的文件,这个文件以前是由ctags(1)或等效命令构建的。如果设置了环境变量LESSGLOBALTAGS,则将其作为与global(1)兼容的命令的名称,并执行该命令以查找标记。 (请参阅http://www.gnu.org/soft-ware/global/global.html)。 -t选项也可以在less内指定(使用 – 命令)作为检查新文件的一种方式。命令“:t”等同于在less内指定-t。
-Ttagsfile or –tag-file=tagsfile 指定要使用的tag文件而不是“tag”。
-u or –underline-special 设置退格和回车被视为可打印的字符;也就是说,当它们出现在输入中时,它们被发送到终端。
-U or –UNDERLINE-SPECIAL 设置退格,制表符和回车被视为控制字符;也就是说,它们按照-r选项的指定进行处理。默认情况下,如果既不指定-u也不指定-U,则与下划线字符相邻的退格将被特殊处理:使用终端的硬件下划线功能显示带下划线的文本。同样,两个相同字符之间出现的背景空间也会被特殊对待:使用终端的硬件黑体字能力来打印超重文本。其他退格与前面的字符一起被删除。回车后马上跟着换行符被删除。其他回车按照-r选项的指定进行处理。如果-u和-U都不起作用,那么可以搜索超出或加下划线的文本。
-V or –version 显示less的版本号。
-w or –hilite-unread 暂时的高亮向前移动之后的第一个行,第一个“新”行是紧接在屏幕底部的行之后的行。还会突出显示g或p命令后的目标行。当有新的移动命令时,高亮将被清除。整个行被突出显示。(除非-J选项有效,在这种情况下,只有状态列被突出显示。)
-W or –HILITE-UNREAD 类似于-w,但只在大于一行的向前移动命令之后暂时高亮新的第一行。
-xn,… or –tabs=n,… 设置制表位。如果仅指定了一个n,则制表位将被设置为n的倍数。如果指定了以逗号分隔的多个值,则在这些位置设置制表位,然后以与最后两个相同的间距继续。例如,-x9,17将在第9,17,25,33等位设置选项卡.n的默认值是8。
-X or –no-init 禁止发送termcap初始化和反初始化字符串到终端。如果去初始化字符串做了一些不必要的事情,比如清除屏幕,这有时是可取的。
-yn or –max-forw-scroll=n 指定要向前滚动的最大行数。如果需要向前滚动n行以上,则屏幕将被重新绘制。如果需要,可以使用-c或-C选项从屏幕顶部重新绘制。默认情况下,任何向前移动都会导致滚动。
-[z]n or –window=n 将默认的滚动窗口大小更改为n行。默认是一个屏幕。 z和w命令也可以用来改变窗口大小。为了与更多版本兼容,可以省略“z”。如果数字n为负数,则表示比当前屏幕尺寸少n行。例如,如果屏幕是24行,则-z-4将滚动窗口设置为20行。如果屏幕大小调整为40行,则滚动窗口将自动更改为36行。
-“cc or –quotes=cc 更改文件名引用字符。如果您要命名包含空格和引号字符的文件,这可能是必需的。后面跟着一个单个字符,这会将引号字符更改为该字符。包含空格的文件名应该被该字符包围,而不是由双引号包围。随后是两个字符,将开引号(左引号)更改为第一个字符,并将第二个字符的引号更改为关引号(右引号)。包含空格的文件名应该以开引号字符开头,后跟关引号字符。请注意,即使在引号字符被改变之后,这个选项仍然是 – “(一个破折号后跟一个双引号)。
-~ or –tilde 通常文件结束后的行显示为一个代字符(〜)。该选项使文件结束后的行显示为空行。
-# or –shift 指定在RIGHTARROW和LEFTARROW命令中水平滚动的默认位置数量。如果指定的数字为零,则将默认位置数设置为屏幕宽度的一半。或者,可以将数字指定为屏幕宽度的一小部分,从小数点开始:.5是屏幕宽度的一半,.3是屏幕宽度的十分之三,依此类推。如果将数字指定为分数,则在窗口大小重新改变时,将重新计算滚动位置的实际数量,以便实际滚动保持在屏幕宽度的指定分数处。
–follow-name 通常情况下,如果在执行F命令时重命名输入文件,那么即使更改了名称,也会继续显示原始文件的内容。如果指定了–follow-name,则在F命令期间,less会定期尝试按名称重新打开该文件。如果重新打开成功,并且文件是与原始文件不同的文件(这意味着已经创建了与原始文件(现已重命名)文件同名的新文件),则会显示新文件的内容。
–no-keypad 禁止将键盘初始化和反初始化字符串发送到终端。如果小键盘字符串使得数字小键盘以不希望的方式表现出来,则这有时是有用的。
–use-backslash 这个选项改变了这个选项的解释。在–use-backslash选项之后,选项字符串中的任何反斜杠都将被删除,并且从字面上取下列字符。这允许美元符号被包括在选项字符串中。
“ — ”的命令行参数标志了选项参数的结尾。之后的任何参数都被解释为文件名。这在查看名称以“ – ”或“+”开头的文件时非常有用。
+ 如果一个命令行选项以+开始,该选项的其余部分被认为是less的初始命令 。例如,+G 告诉less 在文件的结尾处开始,而不是从开始处。 +/xyz 告诉 less 从文件中第一次出现“xyz”的地方开始。作为一个特殊的例子 + 表现的像 +g; 也就是说,它开始显示在指定的行号(但是,请参阅上面的“g”命令中的警告)。 如果选项以++开始,则初始命令适用于每个正在查看的文件,而不仅仅是第一个。前面描述的+命令也可以用来设置(或改变)每个文件的初始命令。

命令

less运行时的命令基于more和vi。 命令之前可能会有一个十进制数字,在下面的描述中被称为N。

N代表的数字,出现在命令之前,所以想手动指定N的值得话,需要在命令之前输入K的值

在下面的描述中,^ X表示control-X。 ESC代表ESCAPE键; 例如ESC-v意味着两个字符序列“ESCAPE”,然后是“v”。

命令 解释
h or H 显示以下命令的帮助信息摘要,如果你忘记了所有其他的命令,请记住这一个
SPACE or ^V or f or ^F 向前滚动N行,默认一个窗口(请参阅下面的选项-z)。如果N大于屏幕尺寸,则只显示最后一个屏幕。警告:某些系统使用^ V作为特殊的文字化字符
z 类似 SPACE, 但是如果指定了N,它将成为新的窗口大小。
ESC-SPACE 类似 SPACE,但滚动一个完整的屏幕,即使它在过程中到达文件的结尾。
ENTER or RETURN or ^N or e or ^E or j or ^J 向前滚动N行,默认为1。即使N大于屏幕尺寸,也会显示整个N行。
d or ^D 向前滚动N行,默认为屏幕大小的一半。如果指定了N,它将成为后续d和u命令的新默认值。
b or ^B or ESC-v 向后滚动N行,默认一个窗口(请参阅下面的选项-z)。如果N大于屏幕尺寸,则只显示最后一个屏幕。
w 类似于ESC-v, 但是如果指定了N,它将成为新的窗口大小。
y or ^Y or ^P or k or ^K 向后滚动N行,默认为1.即使N大于屏幕尺寸,也会显示整个N行。警告:某些系统使用^ Y作为特殊作业控制字符。
u or ^U 向后滚动N行,默认为屏幕大小的一半。如果指定了N,它将成为后续d和u命令的新默认值。
ESC-) or RIGHTARROW 水平向右滚动N个字符,默认为屏幕宽度的一半(请参阅 – #选项) 如果指定了数字N,它将成为未来RIGHTARROW和LEFTARROW命令的默认值。当文本滚动时,它的行为就像-S选项。
ESC-( or LEFTARROW 水平向左滚动N个字符,默认为屏幕宽度的一半(请参阅 – #选项)如果指定了数字N,它将成为未来RIGHTARROW和LEFTARROW命令的默认值。
r or ^R or ^L 重绘屏幕。
R 重绘屏幕,丢弃任何缓冲的输入。如果文件在查看过程中发生变化,该功能很有用。
F 向前滚动,并在到达文件结尾时继续尝试读取。通常情况下,这个命令将在文件结束时使用。这是一种监视正在查看的文件尾部的方法。 (该行为类似于“tail -f”命令。)
ESC-F 类似于 F, 但只要找到与上一次搜索模式串匹配的行,终端就会响铃,并停止向前滚动。
g or < or ESC -< 转到文件中的第N行,默认1(文件开始)。 (警告:如果N很大,这可能会很慢。)
G or > or ESC-> 转到文件中的第N行,默认文件的结尾。 (警告:如果N很大,或者没有指定N,并且正在读取标准输入而不是文件,则这可能会很慢。
p or % 移动到文件中的N%处。 N应该在0到100之间,并且可以包含一个小数点。
P 移动到文件中包含字节偏移量N的行。
{ 如果在屏幕上显示的第一行中出现左花括号,{命令将转到右花括号。右边的大括号位于屏幕的底部。如果顶行有多个左花括号,则可以使用数字N来指定行上的第N个括号。
} 如果在屏幕上显示的最后一行出现右括号,}命令将转到匹配的左括号。匹配的左大括号位于屏幕的顶行。如果顶行有多个右括号,则可以使用数字N来指定行上的第N个括号。
( 类似于 {,但适用于括号”(“而不是花括号”{“。
) 类似于 },但适用于括号”)”而不是花括号”}”。
[ 类似于 {,但适用于方括号”[“而不是大括号”{“。
] 类似于 },但适用于方括号”]”而不是大括号”}”。
ESC-^F 后面跟着两个字符,类似于{,但是分别使用两个字符作为打开和关闭的括号。 例如, "ESC ^F < >" 可以用于前进到与顶部显示的行中的 < 匹配的 >。
ESC-^B 后面跟着两个字符,类似于},但是分别使用两个字符作为打开和关闭的括号。 例如,"ESC ^B < >"可以用来返回到与底部显示行中的 > 匹配的 < 。
m 随后是小写字母,用该字母标记当前位置。
‘ (Single quote,单引号) 随后是小写字母,返回到之前用该字母标记的位置。 紧接着另一个单引号,返回到执行最后一个“大”移动命令的位置。 接着是^或$,分别跳转到文件的开头或结尾。 检查新文件时会保留标记,因此可以使用该 ‘命令在输入文件之间切换。
^X^X 和单引号一样。
/pattern 在文件中向前搜索包含模式串的第N行。 N默认为1.模式串是一个正则表达式,由系统提供的正则表达式库所识别。搜索从显示的第一行开始(但是当出现-a和-j选项,这改变了这一点)。如果在模式串的开始处输入某些特殊的字符;他们只修改搜索的类型,而不是成为模式串的一部分:^N or ! :搜索与模式串不匹配的行。^E or * :搜索多个文件。也就是说,如果搜索到达当前文件的END而没有找到匹配,则搜索将继续执行命令行列表中的下一个文件。^F or @ :无论当前在屏幕上显示什么或者-a或-j选项的设置如何,都可以从命令行列表中FIRST文件的第一行开始搜索。^K:高亮当前屏幕与模式串匹配的文本,但不要移动到第一个匹配项的位置去,保持当前位置。^R:不要解释正则表达式元字符;只做简单的文字比较。
?pattern 在文件中向后搜索包含模式的第N行。搜索从显示顶行之前的行开始。某些在/命令中是特殊的字符:^N or !:搜索与模式串不匹配的行。^E or *:搜索多个文件。也就是说,如果搜索到达当前文件的开头而没有找到匹配,则搜索将继续执行命令行列表中的前一个文件。^F or @:无论当前在屏幕上显示什么或者-a或-j选项的设置如何,都可以从命令行列表中最后一个文件的最后一行开始搜索。^K:类似向前搜索中的^K^R类似向前搜索中的^R
ESC-/pattern 与 “/*”相同。
ESC-?pattern 与 “?*”相同。
n 重复之前的搜索,包含最后一个模式串的第N行。如果先前的搜索被^N修改,则搜索不包含该模式串的第N行。如果之前的搜索已被^E修改,如果当前文件不满足的话,则搜索在下一个(或前一个)文件中继续。如果之前的搜索已被^R修改,则搜索不使用正则表达式。如果以前的搜索已被^F或^K修改,则无效。
N 重复以前的搜索,但方向相反。
ESC-n 重复之前的搜索,但跨越文件边界。效果就好像以前的搜索串是*。
ESC-N 重复以前的搜索,但是在相反的方向和跨文件的边界。
ESC-u 关闭高亮搜索匹配项。关闭与当前搜索模式串匹配的字符串高亮。如果由于先前的ESC-u命令而关闭高亮显示,则重新打开高亮显示。任何搜索命令也会重新变成高亮显示。(也可以通过切换-G选项禁用高亮显示;在这种情况下,搜索命令不会再次高亮显示)。
&pattern 只显示与模式串匹配的行,不匹配的行不显示。如果模式串是空的,也就是说你在输入&之后立刻回车,那么所有的过滤都会被关闭,并且显示所有行。在过滤生效时,在提示的开始会显示一个&符号,提示文件中的某些行可能被隐藏。某些在/命令中是特殊的字符:^N or !:仅显示与模式串不匹配的行。^R :不要解释正则表达式元字符;只做简单的文字比较。
:e [filename] 检查一个新文件。如果缺少文件名,则重新检查命令行中文件列表中的“当前”文件(请参阅下面的:n和:p命令)。 文件名中的百分号%,代表当前文件名。 #号被替换为之前检查的文件名。 两个连续的%%会被替换为一个%,所以这允许你输入文件名中带%的文件。同样的两个连续##会被替换为一个#。 将文件名插入到文件的命令行列表中,以便后续可以看到,:n和:p命令。 如果文件名由多个文件组成,则它们全部插入到文件列表中,并检查第一个文件。 如果文件名包含一个或多个空格,则整个文件名应该用双引号括起来 (请查阅 -” 选项).
^X^V or E 与 :e相同。 警告:某些系统使用^ V作为特殊的文字化字符。在这样的系统上,您可能无法使用^ V。
: n 检查下一个文件(从命令行中给出的文件列表)。如果指定了数字N,则往后检查N个文件。
: p 检查命令行列表中的前一个文件。如果指定了数字N,则往前检查N个文件。
: x 检查命令行列表中的第一个文件。如果指定了数字N,则检查列表中的第N个文件。
: d 从文件列表中删除当前文件。
t 如果当前标签有多个匹配项,则转到下一个标签。有关tag的更多详细信息,请参阅-t选项。
T 如果当前标签有多个匹配项,则转到上一个标签。
= or ^G or :f 打印关于正在查看的文件的一些信息,包括其名称以及显示的最后一行的行号和字节偏移量。如果可能的话,它还会打印文件的长度,文件中的行数以及最后一行显示的文件百分比。
接下来是一个命令行选项字母(参见下面的OPTIONS),这将改变该选项的设置并打印描述新设置的消息。如果在”-“之后立即输入^ P(CONTROL-P),则会更改选项的设置,但不会显示任何消息。如果选项字母具有数字值(如-b或-h)或字符串值(如-P或-t),则可在选项字母后输入新值。如果没有输入新值,则会打印一条描述当前设置的消息,不会有任何更改。
类似于- 命令一样,但需要很长的选项名称(请参阅下面的选项),而不是一个选项字母。输入选项名称后,必须按ENTER或RETURN。当^P 在”–“之后立即输入时则不会显示任何描述新设置的消息,类似-命令
-+ 随后是其中一个命令行选项字母,这会将选项重置为其默认设置并打印描述新设置的消息。 (“ -+X”命令与命令行中的“-+X”执行相同的操作)。这对于字符串值选项不起作用。
–+ 类似于-+命令, 但需要较长的选项名称而不是单个选项字母。
-! 随后是其中一个命令行选项字母,这会将选项重置为默认设置的“相反”,并打印描述新设置的消息。这对数字或字符串值选项不起作用
–! 类似于-!命令, 但需要较长的选项名称而不是单个选项字母。
_(下划线) 随后是其中一个命令行选项字母,这将打印一条描述该选项当前设置的消息。该选项的设置没有改变。
__ (双下划线) 类似于_命令, 但需要较长的选项名称而不是单个选项字母。输入选项名称后,必须按ENTER或RETURN。
+cmd 设置每次检查新文件时执行指定的cmd。例如,G会导致从最后开始显示每个文件,而不是从开始显示。
V 打印less正在运行的版本号。
q or Q or :q or :Q or ZZ 退出

以下四个命令可能有效或无效,具体取决于您的特定安装。

命令 解释
v 调用编辑器来编辑当前正在查看的文件。如果定义了编辑器,则从环境变量VISUAL中获取编辑,如果VISUAL未定义,则编辑器从EDITOR中获取;如果VISUAL和EDITOR都未定义,则编辑器默认为“vi”。请参阅以下关于PROMPTS部分的关于LESSEDIT的讨论。
! shell-command 调用一个shell来运行给定的shell命令。百分号%,代表当前文件名。 #号被替换为之前检查的文件名。 “!!” 代表重新之前之前的命令 “!” 没有shell命令只是调用一个shell。在Unix系统上,shell是从环境变量SHELL中获取的,或者默认为“sh”。在MS-DOS和OS/2系统上,shell是普通的命令处理器。
| shell-command 表示任何标记字母。将输入文件的一部分分配给给定的shell命令。要传送的文件部分位于当前屏幕的第一行和由该字母标记的位置之间。 也可以是^或$分别表示文件的开始或结束。如果是 . 或新行,则前屏幕是管道。
s filename 将输入保存到一个文件。这只适用于输入是管道而不是普通文件的情况。

命令输入编辑

在屏幕底部输入命令行时(例如:e命令的文件名或搜索命令的模式串),可以使用某些键来操作命令行。这就是所谓的line-editing

大多数命令在[括号]中有一个替代形式,如果特定键盘上不存在某个键,则可以使用该形式。(请注意,以ESC开头的命令形式在某些MS-DOS和Windows系统中不起作用,因为ESC是行擦除字符。) 这些特殊键中的任何一个都可以通过在字面上输入字符来输入,即^V或^A. 反斜杠本身也可以通过输入两个反斜杠直接输入。

命令 操作
LEFTARROW [ ESC-h ] 将光标向左移动一格|。
RIGHTARROW [ ESC-l ] 将光标向右移动一格。
^LEFTARROW [ ESC-b or ESC-LEFTARROW ] (也就是CONTROL和LEFTARROW同时按下。) 将光标向左移动一个词。
^RIGHTARROW [ ESC-w or ESC-RIGHTARROW ](也就是CONTROL和RIGHTARROW同时按下。) 将光标向右移动一个词。
HOME [ ESC-0 ] 将光标移到行首。
END [ ESC-$ ] 将光标移动到行的末尾。
BACKSPACE 删除光标左侧的字符,或者如果命令行为空,则取消该命令。
DELETE or [ ESC-x ] 删除光标下的字符。
^BACKSPACE [ ESC-BACKSPACE ] (也就是CONTROL和BACKSPACE同时按下。) 删除光标左侧的单词。
^DELETE [ ESC-X or ESC-DELETE ] (也就是CONTROL和DELETE同时按下。) 删除光标下的单词。
UPARROW [ ESC-k ] 检索前面的命令行。如果你先输入一些文本,然后按UPARROW,它将检索以该文本开头的前一个命令。
DOWNARROW [ ESC-j ] 检索下一个命令行。如果你先输入一些文字,然后按下DOWNARROW,它将检索以该文本开头的下一个命令。
TAB 完成光标左侧部分的文件名。如果它匹配多个文件名,则第一个匹配被输入到命令行中。重复的TAB将循环输入其他匹配的文件名。如果完成的文件名是一个目录,则在文件名后附加“/”。 (在MS-DOS系统上,附加“\”。)环境变量LESSSEPARATOR可用于指定不同的字符以追加到目录名称。
BACKTAB [ ESC-TAB ] 就像TAB一样,但是通过匹配的文件名反向循环。
^L 完成光标左侧部分的文件名。如果它匹配多个文件名,则所有的匹配都被输入到命令行中(如果它们合适的话)。
^U (Unix and OS/2) or ESC (MS-DOS) 删除整个命令行,或者如果命令行为空,则取消该命令。如果您已将Unix中的删除语句字符更改为^ U以外的字符,则使用该字符而不是^ U。
^G 删除整个命令行并返回到主提示符。

按键绑定

您可以使用程序lesskey(1)创建一个lesskey文件来定义您自己的less命令。该文件指定一组命令键和与每个键相关联的操作。您也可以使用less键来更改line-editng(命令行编辑键)(请参阅LINE-EDITING(行编辑)),并设置环境变量。

如果设置了环境变量LESSKEY,则less使用它作为lesskey文件的名称。否则,less在lesskey文件的标准位置查找:在Unix系统上,less寻找一个名为“$ HOME / .less”的lesskey文件。在MS-DOS和Windows系统上,less查找名为“$ HOME / _less”的lesskey文件,如果没有找到,则在PATH环境变量中指定的任何目录中查找名为“_less”的lesskey文件。在OS / 2系统上,less查找名为“$ HOME / less.ini”的lesskey文件,如果找不到,则在INIT环境变量中指定的任何目录中查找名为“less.ini”的lesskey文件,如果没有找到,则在PATH环境变量中指定的任何目录中查找名为“less.ini”的lesskey文件。有关更多详细信息,请参阅lesskey手册页。

系统范围内的lesskey文件也可以被设置为提供按键绑定。 如果在本地lesskey文件和系统范围文件中都定义了一个键,则本地文件中的键绑定优先于系统范围文件中的键绑定。 如果设置了环境变量LESSKEY_SYSTEM,那么使用该变量作为系统范围的lesskey文件名称。 否则,less在全系统lesskey文件的标准位置查找:在Unix系统上,全系统lesskey文件是/usr/local/etc/sysless。 (但是,如果less是使用与/usr/local/etc/不同的sysconf目录构建的,则这个目录就是sysless文件应该被找到的目录)。在MS-DOS和Windows系统上,系统范围的lesskey文件是c:_sysless。 在OS/2系统上,全系统lesskey文件是c:\sysless.ini。

输入预处理

您也可以为less 定义一个“输入预处理器”。 在less打开一个文件之前,它首先让你的输入预处理器有机会修改文件内容的显示方式。 输入预处理器只是一个可执行程序(或shell脚本),它将文件的内容写入另一个文件,或者称之为替换文件。 替换文件的内容然后显示在原始文件内容的位置。 但是,对于用户来说,就跟打开原始文件一样。 也就是说,less将显示原始文件名作为当前文件的名称。

输入预处理器接收一个命令行参数,即用户输入的原始文件名。 它应该创建替换文件,完成后,将替换文件的名称打印到其标准输出。 在正常情况下,如果输入预处理程序不输出替换文件名,则less使用原始文件。 查看标准输入时不会调用输入预处理程序。 要设置输入预处理器,请将LESSOPEN环境变量设置为将调用您的输入预处理器的命令。 这个命令应该包含一个字符串“%s”,当输入预处理器命令被调用时,这个字符串将被实际的文件名替换。

当less关闭以这种方式打开的文件时,它会调用另一个程序,称为输入后处理程序,它可以执行任何所需的清理操作(例如删除由LESSOPEN创建的替换文件)。 该程序接收两个命令行参数,由用户输入的原始文件名以及替换文件的名称。 要设置输入后处理器,请将LESSCLOSE环境变量设置为将调用输入后处理器的命令。 它可能包含两个字符串“%s”; 第一个替换为文件的原始名称,第二个替换文件的名称由LESSOPEN输出。

例如,在许多Unix系统上,这两个脚本将允许你保持压缩格式的文件,但让less得以直接查看它们:

 lessopen.sh:
     #! /bin/sh
     case "$1" in
     *.Z) uncompress -
        if [ -s /tmp/less.$$ ]; then
            echo /tmp/less.$$
        else
            rm -f /tmp/less.$$
        fi
        ;;
     esac

lessclose.sh:
    #! /bin/sh
    rm $2

要使用这些脚本,将它们放在可执行的位置,并设置LESSOPEN =“lessopen.sh %s”,LESSCLOSE =“lessclose.sh %s %s”。 可以编写更复杂的LESSOPEN和LESSCLOSE脚本来接受其他类型的压缩文件,等等。

还可以设置一个输入预处理器,将文件数据直接传送到less,而不是将数据放入替换文件中。 这避免了在开始查看之前解压整个文件。 以这种方式工作的输入预处理器被称为输入管道。 输入管道不是在其标准输出上写入替换文件的名称,而是将替换文件的全部内容写入其标准输出。 正常情况下,如果输入管道没有在其标准输出上写入任何字符,那么没有替换文件,并且less使用原始文件。 要使用输入管道,请使LESSOPEN环境变量中的第一个字符成为垂直条(|),以表示输入预处理器是输入管道。

例如,在许多Unix系统上,这个脚本将像前面的示例脚本一样工作:

lesspipe.sh:
            #! /bin/sh
            case "$1" in
            *.Z) uncompress -c $1  2>/dev/null
            *)   exit 1
                 ;;
            esac
            exit $?

要使用这个脚本,把它放在可执行的地方并且设置 LESSOPEN="|lesspipe.sh %s".

请注意,预处理器不能输出空文件,因为这被解释为意味着没有替换,并且使用原始文件。 为避免这种情况,如果LESSOPEN以两个竖线开始,则脚本的退出状态将变得有意义。 如果退出状态为零,则输出被认为是替换文本,即使它是空的。 如果退出状态不为零,则忽略任何输出并使用原始文件。 为了兼容以前版本的less,如果LESSOPEN只以一个垂直条开始,则预处理器的退出状态将被忽略。

当使用输入管道时,可以使用LESSCLOSE后处理器,但通常没有必要,因为没有替换文件进行清理。 在这种情况下,传递给LESSCLOSE后置处理器的替换文件名是“ – ”。

为了与以前版本的less兼容,如果less正在查看标准输入,则不使用输入的预处理器或管道。 但是,如果LESSOPEN的第一个字符是破折号( – ),则输入预处理器将用于标准输入以及其他文件。 在这种情况下,短划线不被认为是预处理器命令的一部分。 如果正在查看标准输入,则输入预处理器将传递一个由单个短划线组成的文件名。 同样,如果LESSOPEN的前两个字符是垂直条和短划线(|- )或两个垂直条和一个破折号(||- ),则输入管道将用于标准输入以及其他文件。 同样,在这种情况下,短划线不被认为是输入管道命令的一部分。

预处理器有以下的默认文件设置:

/etc/profile.d/less.sh

/etc/profile.d/less.csh

这些文件将/usr/bin/lesspipe.sh设置为默认过滤器。 用户定义的过滤器可以在~/.lessfilter中指定。 这个文件应该设置为可执行,并且只接受一个代表文件名的参数。 如果用户定义过滤器处理文件,则应返回零。 否则~/.lessfilter将试图处理文件。

提示符

-P选项允许您根据自己的偏好量身定制提示。 赋给-P选项的字符串将替换指定的提示字符串。 字符串中的某些字符被专门解释。 提示机制提供的灵活性比较复杂,普通用户不需要了解构建个性化提示字符串的细节。

百分号后面跟一个单字符的情况将根据以下字符进行解释和扩展:

符号 解释
%bX 由当前输入文件中的字节偏移量替换。 b后面跟着一个字符(如上面的X所示),它指定要使用字节偏移的行。 如果字符是“t”,则使用显示器顶行的字节偏移量,“m”表示使用中间行,“b”表示使用底行,“B”表示使用紧跟在底线之后行,而“j”表示使用-j选项指定的“target”行。
%B 替换为当前输入文件的大小。
%c 由屏幕第一列中出现的文本的列号替换。
%dX 由输入文件中一行的页码替换。要使用的行由X确定,与%b选项一样。
%D 替换为输入文件中的页数,或等同于输入文件中最后一行的页码。
%E 替换为编辑器的名称(来自VISUAL环境变量,或者如果VISUAL未定义,则使用EDITOR环境变量)。请参阅下面关于LESSEDIT功能的讨论。
%f 替换为当前输入文件的名称。
%F 替换为当前输入文件名称的最后一个。
%i 由输入文件列表中当前文件的索引替换。
%lX 替换为输入文件中一行的行号。要使用的行由X确定,与%b选项一样。
%L 由输入文件中最后一行的行号替换。
%m 替换为输入文件的总数。
%pX 取决于当前输入文件的百分比,基于字节偏移量。与%b选项一样,使用的行由X确定。
%PX 根据行号取代当前输入文件的百分比。与%b选项一样,使用的行由X确定。
%s 与 %B相同
%t 导致任何尾空格被删除。通常用在字符串的末尾,但也可能出现在任何地方。
%x 替换为列表中下一个输入文件的名称。

如果有任何项目是当前无法计算的(例如,如果输入的文件大小是管道),则打印问号。

提示字符串的格式可以根据特定条件进行更改。 一个问号跟一个单个字符就像一个“IF”:根据下面的字符,一个条件被评估。 如果条件为真,则提示中将包含问号和条件字符后的任何字符。 如果条件不成立,则不包括这些字符。 出现在问号和句点之间的冒号可用于建立“ELSE”:当且仅当IF条件为假时,冒号和句点之间的任何字符才被包括在字符串中。其实熟悉C语言的同学们可以发现,这其实就是个三目运算符的变体嘛。 条件字符(跟在一个问号后面)可能是:

字符 解释
?a 如果到目前为止提示中包含任何字符,则为真。
?bX 如果指定行的字节偏移量已知,则为真。
?B 如果当前输入文件的大小已知,则为真。
?c 如果文本水平移位(%c不为零)则为真。
?dX 如果指定行的页码已知,则为真。
?e 如果在文件结束时为真。
?f 如果有输入文件名(即输入不是管道),则为真。
?lX 如果指定行的行号已知,则为真。
?L 如果文件中最后一行的行号是已知的,则为真。
?m 如果有多个输入文件,则为真。
?n 如果这是新输入文件中的第一个提示,则为真。
?pX 如果已知指定行的基于字节偏移的当前输入文件的百分比,则为真。
?PX 如果已知输入文件中基于行号的百分比,则为真。
?s 与”?B”相同。
?x 如果存在下一个输入文件(即,如果当前输入文件不是最后一个),则为真。

除特殊字符(问号,冒号,句点,百分比和反斜线)以外的任何字符都成为提示的字面意思。 任何特殊字符都可以通过在反斜杠之前加上字面意思。

例:

?f%f:Standard input。

如果文件名已知,此提示将打印文件名; 否则为字符串“标准输入”。

?f%f .?ltLine %lt:?pt%pt\%:?btByte %bt:-...

如果文件名已知,此提示将打印文件名。 如果行号已知,则文件名后跟行号,否则的话,判断百分比是否已知,如果已知则返回百分比,否则的话如果已知字节偏移,则打印字节偏移, 否则,打印短划线。 注意每个问号匹配的声明周期,以及%pt之后的%是如何通过用反斜杠转义来实现的。

上面的代码换一种方式:

if(文件名已知)
    打印文件名;

if(行号已知)
    打印行号;
else if(百分比已知)
        打印百分比;
else if(字节偏移已知)
        打印字节偏移;
else
    打印短划线;

?n?f%f .?m(file %i of %m) ..?e(END) ?x- Next\: %x..%t

如果这是文件中的第一个提示,则输出文件名,如果有多个输入文件,则输出消息“N of N file”。 然后,如果我们在文件结尾,则打印字符串“(END)”,后跟下一个文件的名称(如果有的话)。 最后,任何尾随空格被截断。 这是默认提示。 作为参考,以下是其他两个提示(分别为-m和-M)的默认值。 为了便于阅读,每一行都分成两行。

?n?f%f .?m(file %i of %m) ..?e(END) ?x- Next\: %x.:
            ?pB%pB\%:byte %bB?s/%s...%t
?f%f .?n?m(file %i of %m) ..?ltlines %lt-%lb?L/%L. :
            byte %bB?s/%s. .?e(END) ?x- Next\: %x.:?pB%pB\%..%t

这里是=命令产生的默认消息:

?f%f .?m(file %i of %m) .?ltlines %lt-%lb?L/%L. .
            byte %bB?s/%s. ?e(END) :?pB%pB\%..%t

提示扩展功能还用于其他目的:如果定义了环境变量LESSEDIT,则将其用作在调用v命令时执行的命令。 LESSEDIT字符串以与提示字符串相同的方式展开。

LESSEDIT的默认值是:

%E ?lm+%lm. %f

请注意,这将扩展到编辑器名称,后跟+和行号,后跟文件名。 如果您的编辑器不接受“+linenumber”语法,或者在调用语法上有其他差异,则可以更改LESSEDIT变量以修改此默认值。

安全模式

当环境变量LESSSECURE设置为1时,在“安全”模式下运行less。 这意味着这些功能被禁用:

命令 解释
! shell命令
| 管道命令
:e 检查命令。
v 编辑命令
s -o 日志文件
-k 使用lesskey文件
-t 使用标签文件
文件名中的元字符, 例如 *
文件名自动补全 (TAB, ^L)

也可以编译成永远处于“安全”模式。

兼容more命令

如果环境变量LESS_IS_MORE设置为1,或者通过名为“more”的文件链接调用程序,则less的行为(主要的)符合POSIX“more”命令规范。 在这种模式下,在这些方面表现不同:

-e选项的工作方式不同。 如果未设置-e选项,那么表现就好像设置了-E选项。 如果设置了-e选项,那么less表现就好像设置了-e和-F选项。

-m选项的工作方式不同。 如果未设置-m选项,则使用媒体提示符,并以字符串“–More–”作为前缀。 如果设置了-m选项,则使用短提示。

-n选项的作用就像-z选项。 -n选项的正常行为在此模式下不可用。

-p选项的参数被认为是一个less的命令,而不是一个搜索模式。

LESS环境变量被忽略,并且MORE环境变量被使用。

环境变量

环境变量可以像往常一样在系统环境中指定,也可以在lesskey(1)文件中指定。 如果环境变量定义在多个地方,那么本地lesskey文件中定义的变量优先于系统环境中定义的变量,并且这些变量优先于系统范围lesskey文件中定义的变量。

变量 解释
COLUMNS 设置屏幕上的列数。 优先于TERM变量指定的列数。 (但是,如果您有一个支持TIOCGWINSZ或WIOCGETD的窗口系统,则窗口系统的屏幕大小优先于LINES和COLUMNS环境变量。)
EDITOR 编辑器的名称(用于v命令)。
HOME 用户主目录的名称(用于在Unix和OS/2系统上查找lesskey文件)。
HOMEDRIVE, HOMEPATH 如果没有设置HOME变量,HOMEDRIVE和HOMEPATH环境变量连接起来作为用户主目录的名称 (Windows版本).
INIT 用户的init目录的名称(用于在OS/2系统上查找lesskey文件)。
LANG 确定字符集的语言。
LC_CTYPE 确定字符集的语言。
LESS 自动传递给less的选项。
LESSANSIENDCHARS 可能结束ANSI颜色转义序列的字符(默认为“m”)。
LESSANSIMIDCHARS ANSI颜色转义序列中ESC字符和结束字符之间可能出现的字符 (默认 “0123456789;[?!”‘#%()*+ “.)
LESSBINFMT 用于显示不可打印的非控制字符的格式。
LESSCHARDEF 定义一个字符集。
LESSCHARSET 选择一个预定义的字符集。
LESSCLOSE 用于调用(可选)输入后处理器的命令行。
LESSECHO l essecho程序的名称(默认“lessecho”)。 lessecho程序需要在Unix系统上的文件名中扩展元字符,如*和?
LESSEDIT 编辑器原型字符串(用于v命令)。请参阅PROMPTS下的讨论。
LESSGLOBALTAGS -t选项用于查找全局tags的命令的名称。如果您的系统有global(1)命令,通常应该设置为“global。如果未设置,则不使用全局标签。
LESSHISTFILE 用于记录less调用之间的搜索命令和shell命令的历史文件的名称。 如果设置为“-”或“/dev/null”,则不使用历史文件。 在Unix系统上,默认是“$ HOME/.lesshst”,在DOS和Windows系统上是“$HOME/_lesshst”,在OS/2系统上是“$HOME/lesshst.ini”或者“$INIT/lesshst.ini”。
LESSHISTSIZE 保存在历史文件中的命令的最大数量。默认值是100。
LESSKEY 默认的lesskey(1)文件名称。
LESSKEY_SYSTEM 默认的系统范围的lesskey(1)文件名称。
LESSMETACHARS 被shell视为“元字符”的字符列表。
LESSMETAESCAPE 在发送到shell的命令的每个元字符之前添加的前缀。如果LESSMETAESCAPE是一个空字符串,则包含元字符的命令不会被传递给shell。
LESSOPEN 用于调用(可选)输入预处理器的命令行。
LESSSECURE 在“安全”模式下运行less。参见SECURITY下的讨论。
LESSSEPARATOR 要在文件名完成中附加到目录名称的字符串。
LESSUTFBINFMT 显示不可打印的Unicode代码点的格式。
LESS_IS_MORE 模拟more(1)命令。
LINES 设置屏幕上的行数。优先于TERM变量指定的行数。 (但是,如果您有一个支持TIOCGWINSZ或WIOCGETD的窗口系统,则窗口系统的屏幕大小优先于LINES和COLUMNS环境变量。)
MORE 在more兼容模式下运行时自动传递给less的选项。
PATH 用户的搜索路径(用于在MS-DOS和OS/2系统上查找lesskey文件)。
SHELL 这个shell用来执行!命令,以及扩展文件名。
TERM less正在运行的终端的类型。
VISUAL 编辑器的名称(用于v命令)。

实例

1、查看文件

less log2013.log

2、ps查看进程信息并通过less分页显示

ps -ef |less

3、查看命令历史使用记录并通过less分页显示

[root@localhost test]# history | less
22  scp -r tomcat6.0.32 root@192.168.120.203:/opt/soft
23  cd ..
24  scp -r web root@192.168.120.203:/opt/
25  cd soft
26  ls
……省略……

4、浏览多个文件

less log2013.log log2014.log

结束

呼,写到这里真的尽力了,我相信除了跟man手册相比,这篇文章已经介绍的很详细了,只不过因为不同的linux版本的区别,所以less命令的一些选项,参数,命令也会有差别。

还有一点不足之处是并未对于每一种情况都举例说明,事实上这确实很难。

本篇文章除了本地字符集,其他都有介绍到了。

如有错误还希望各位看官留言指出,求轻喷。

参考链接:

http://man.linuxde.net/less

http://www.runoob.com/linux/linux-comm-less.html

http://www.cnblogs.com/peida/archive/2012/11/05/2754477.html

赞(1) 传送门
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。编程日志 » less命令
分享到: 更多 (0)

游戏 && 后端

传送门传送门