文章目录

  • 1.命令简介
  • 2.命令格式
  • 3.选项说明
  • 4.交互式命令
  • 5.常用示例
  • 参考文献

1.命令简介

less 是常用的文本文件阅读工具,类似于 more 但更强大。

less 主要用于浏览大文件,加载文件时不会读取整个文件,相比于 vim 或 nano 等文本编辑器,启动会更快。

2.命令格式

ps [OPTIONS] [FILE]...

3.选项说明

使用 less 命令选项需要注意以下几点:
(1)长命令选项可以简写,比如 --quit-at-eof 可以写作 --quit,但不能写作 --qui,因为与 --quiet 选项存在二义性;
(2)大写的长命令选项与与同名的小写的长命令选项作用不同,–QUIT-AT-EOF 不等于 --quit-at-eof;
(3)大写的长命令选项书写时可以只将首字母大写,其余小写,比如 --QUIT-AT-EOF 可以写作 --Quit-at-eof。

-?, --help显示帮助信息,等于交互式命令 h
-a, --search-skip-screen向前搜索默认从当前屏幕的首行开始,向后搜索默认从当前屏幕的末行开始。该选项使得向前搜索从屏幕末行的下一行开始,向后搜索从当前屏幕首行的前一行开始,即跳过屏幕内容。重复搜索命令 n 或 N 不受该选项影响
-A, --SEARCH-SKIP-SCREEN向前搜索跳过屏幕首行到目标行,向后搜索跳过屏幕末行到目标行。重复搜索命令 n 或 N 受该选项影响
-bN, --buffers=N设置缓冲区的大小为 N,单位 KB。如果 N 为 -1,表示缓冲区大小没有限制
-B, --auto-buffers默认情况下,如果数据是从管道读取,缓存大小按照所需数据大小自动分配,如果管道数据较大,会导致大量内存被占用。-B 选项将关闭缓存的自动分配,采用 64K 或者 -b 选项指定的大小。警告:使用 -B 可能会导致错误的显示,因为只有最近查看的管道数据部分保留在内存中;任何以前的数据都会丢失
-d, --dumb如果终端是哑终端(dumb terminal),则抑制错误消息的正常显示
-e, --quit-at-eof当 less 第二次到达文件末尾时,自动退出。默认情况需要 q 命令
-E, --QUIT-AT-EOF当 less 第已次到达文件末尾时,自动退出。默认情况需要 q 命令
-f, --force强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-F, --quit-if-one-screen如果文件全部内容可以在一个屏幕内显示,less 自动退出
-g, --hilite-search不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度
-G, --HILITE-SEARCH不加亮显示搜索到的关键词,当前显示的关键字也不加亮
--old-bot恢复到旧的屏幕底部。如果长行在到达终端边界时没有正确换行时可能需要该选项
-hN, --max-back-scroll=N指定向后滚动的行数为 N
-i, --ignore-case搜索时忽略大小写。如果正则表达式中包含大写字母则不忽略
-I, --IGNORE-CASE搜索时忽略大小写。如果正则表达式中包含大写字母也忽略
-jN, --jump-target=n指定屏幕中搜索的开始行。N 可以是正数(1 屏幕的第一行,2 屏幕的第二行),也可以是负数(-1 屏幕的倒数第一行,-2 屏幕的倒数第二行),还可以是分数(.5 屏幕的中间行,.3 屏幕的十分之三行)
-kFILE or --lesskey-file=FILE将指定的文件作为 lesskey 文件。-k 选项可以出现多次
-K, --quit-on-intr使 less 遇到 SIGINT 信号(Ctrl + C)时以状态码 2 立即退出
-L, --no-lessopen忽略环境变量 LESSOPEN
-m, --long-prompt显示类似 more 命令的百分比
-M, --LONG-PROMPT显示类似 more 命令的百分比,此外还显示屏幕内容的行范围
-n, --line-numbers不使用行号,以提高效率(缺省行为)。
-N, --LINE-NUMBERS显示行号
-oFILE, --log-file=FILE将输入的数据拷贝至指定的文件。一般输入的文件是个管道时使用该选项。如果指定的文件已经存在,则覆盖写入前请求二次确认
-OFILE, --LOG-FILE=FILE类似于 -o 选项,不同的是覆盖写入已经存在的文件前不请求二次确认
-pPATTERN or --pattern=PATTERN搜索符合指定模式的内容,等同于选项 +/PATTERN
-PPROMPT, --prompt=PROMPT更改提示的内容为指定的内容。这个选项通常放在 LESS 环境变量中,而不是出现在命令行选项。该选项必须是 LESS 变量的最后一个选项,或者以美元符号终止。比如 -Ps 后面跟一个字符串会将默认(简短)提示符更改为该字符串。-Pm 改变选项 -m 的提示。-PM 更改 -M 的提示。-Ph 改变帮助内容的提示。-P= 更改由 = 命令打印的消息。-Pw 更改在等待数据时打印的消息(在 F 命令中)
-q, --quiet, --silent导致适度的“静音”操作。比如如果试图滚动到文件末尾之后或文件开头之前,则不响终端铃
-Q, --QUIET, --SILENT完全静音,终端铃永远不会响
-r, --raw-control-chars显示原始的控制字符。比如 ^@ 表示空字符,^A 表示字符SOH(start of headline)。警告:使用该选项后不能保证终端能够正常的显示文件内容,因为终端依赖控制字符来格式化文件内容
-R, --RAW-CONTROL-CHARS与 -r 类似,但只有 ANSI颜色转义序列以原始形式输出。与 -r 不同的是,屏幕外观在大多数情况下都得到了正确的维护
-s, --squeeze-blank-lines显示连续空行为一行
-S, --chop-long-lines显示长行时进行截断(chop)而不是换行(wrap)
-tTAG, --tag=TAG指明标签
-TTAGSFILE or --tag-file=TAGSFILE指明标签文件
-u, --underline-special退格与回车作为可打印字符对待
-U, --UNDERLINE-SPECIAL退格与回车作为控制字符对待
-V, --version显示版本信息并退出
-w, --hilite-unread临时高亮显示下一页的第一个新行
-W, --HILITE-UNREAD类似于 -w,但在任何大于一行的向前移动命令之后,临时高亮显示第一个新行
-xN,... or --tabs=N,...设置 tab 的位置
-X, --no-init禁止向终端发送 termcap 初始化和去初始化字符串。如果删除初始化字符串做了一些不必要的事情,比如清除屏幕,这有时是可取的
-yN, --max-forw-scroll=N指定向前滚动的最大行数
-[z]N, --window=N指定滚动一屏所能的滚动的行数。如果 N 是负数,表示全屏能够显示的行数减去 N
-"CC, --quotes=CC更改文件名引用字符。如果您试图命名一个包含空格和引号字符的文件,这可能是必要的
-~, --tilde文件结束后的行通常显示为单个波浪线(~)。此选项使文件结束后的行显示为空行
-#, --shift指定要在 RIGHTARROW 和 LEFTARROW 命令中水平滚动的默认位置数。如果指定的数字为零,则将默认位置数设置为屏幕宽度的一半。或者,可以将数字指定为屏幕宽度的分数,以小数点开始:.5是屏幕宽度的一半,.3是屏幕宽度的三分之三,以此类推。如果将数字指定为分数,则在调整终端窗口的大小时将重新计算滚动条位置的实际数量,从而使实际滚动条保持在屏幕宽度的指定分数
--follow-name通常,如果在执行 F 命令时重命名输入文件,less 将继续显示原始文件的内容,尽管它的名称发生了更改。如果指定了——following -name,那么在F命令期间less将定期尝试按名称重新打开文件。如果重新打开成功,并且文件与原始文件不同(这意味着创建的新文件与原始文件(现在重命名)同名),less将显示新文件的内容
--no-keypad禁止向终端发送键盘初始化和反初始化字符串。如果小键盘字符串使数字小键盘的行为不受欢迎,这有时是有用的
--use-backslash这个选项改变了后面选项的解释。在 --use-backslash 选项之后,删除选项字符串中的任何反斜杠,并按字面意思处理后面的字符。这允许在选项字符串中包含美元符号
--该选项标识命令行选项的结束,之后的参数被解释为文件名,当在文件名的首字符是 - 或这 + 时需要使用该选项
+如果命令行选项以 + 开头,则将该选项的其余部分视为初始命令。比如 +G 表示跳转至文件末尾,+/XYZ 表示跳转至匹配 XYZ 的第一行,+NUM 表示从文件第 NUM 行开始显示;如果选项以 ++ 开头,则初始命令将应用于所查看的每个文件,而不仅仅是第一个文件

实际上,less 的命令行选项很少使用,浏览文件时常用的是交互式命令。

4.交互式命令

以下描述中,^X 表示 control-X,ESC 表示退出键,比如 ESC-v 表示两个字符序列,先是 ESC,然后是 v。如果忘记命令,可以键入 h 或 H 查看命令的帮助信息。

SPACE, ^V, f, ^F向前滚动 N 行,N 默认等于窗口大小。可以使用 -z 选项指定 N 的大小,生效多次;也可以在键入前输入数值 N,生效一次
z类似于 SPACE。可以使用 -z 选项指定 N 的大小,生效多次;也可以在键入前输入数值 N,生效多次
ESC-SPACE先键入 ESC,再键入 SPACE,表示即使到达文件尾部仍然向前滚动一页
ENTER, RETURN, ^N, e, ^E, j, ^J向前滚动 N 行,默认为 1。键入前可先输入数值 N,只对当前动作有效
d, ^D向前滚动 N 行,默认为屏幕一半。键入前可先输入数值 N,对当前与后续的 d 或 u 命令均有效,生效多次
b, ^B, ESC-v向后滚动 N 行,默认为屏幕大小,可以使用 -z 选项指定 N 的大小,生效多次;也可以在键入前输入数值 N,生效一次
w类似于 ESC-v。键入前输入数值 N,生效多次
y, ^Y, ^P, k, ^K向后滚动 N 行,默认为 1。键入前可先输入数值 N,只对当前动作有效
u, ^U向后滚动 N 行,默认为屏幕一半。键入前可先输入数值 N,对当前与后续的 d 或 u 命令均有效,生效多次
ESC-), RIGHTARROW向右滚动 N 个字符,N 默认等于屏幕宽度的一半。键入前可先输入数值 N,对当前与后续的 RIGHTARROW 命令均有效,生效多次
ESC-(, LEFTARROW向右滚动 N 个字符,N 默认等于屏幕宽度的一半。键入前可先输入数值 N,对当前与后续的 LEFTARROW 命令均有效,生效多次
r, ^R, ^L刷新屏幕
R刷新屏幕,放弃缓存内容。在文件被修改时有用
F向前滚动,即使到达了文章尾部。当文件不断增长时该命令可以查看新增的内容,类似于 tail -f 命令
ESC-F与 F 类似,但是一旦找到与最后一个搜索模式匹配的行,就会按下终端铃并停止向前滚动
g, <, ESC-<跳转到第 N 行,默认为文件首行。键入前可先输入数值 N,生效一次
G, >, ESC->跳转到第 N 行,默认为文件末行。键入前可先输入数值 N,生效一次
p, %跳转到文件的位置 N% 处。N 应该在 0 到 100 之间,可能包含一个小数点
P跳转到文件中字节偏移为 N 所在的行
{如果屏幕的顶行出现左花括号,{ 命令将转到匹配的右花括号。匹配的右花括号将位于屏幕的末行。如果在顶行上有多个左花括号,则可以使用数字 N 来指定该行上的第 N 个括号
}如果屏幕的末行出现右花括号,} 命令将转到匹配的左花括号。匹配的左花括号将位于屏幕的顶部。如果在末行上有多个右花括号,则可以使用数字 N 来指定该行上的第 N 个括号
(类似 { 命令,但它适用于圆括号而不是花括号
)类似 } 命令,但它适用于圆括号而不是花括号
[类似 { 命令,但它适用于方括号而不是花括号
]类似 } 命令,但它适用于方括号而不是花括号
ESC-^F后跟两个字符,作用类似于 {,但分别使用这两个字符作为开括号和闭括号。例如,ESC-^F < > 可用于向前移动到与顶行的 < 匹配的 >
ESC-^B后跟两个字符,作用类似于 },但分别使用这两个字符作为开括号和闭括号。例如,ESC-^B < > 可用于向后移动到与末行的 < 匹配的 <
m后跟任意小写字母,用该字母标记当前位置
'(单引号)。后跟任何小写字母,返回到先前用该字母标记的位置。后跟另一个单引号,返回执行最后一个移动命令的位置。后面跟着 ^ 或 $,分别跳转到文件的开头和结尾。在检查新文件时,将保留标记,因此 ' 命令可用于在输入文件之间切换
^X^X等于 ' 命令
/PATTERN向前搜索包含指定模式的第 N 行,N 默认为 1。从屏幕首行开始搜索。在 PATTERN 前输入指定特殊字符可以控制搜索的行为。主要有:^N 或 ! 搜索不包含 PATTERN 的行^E 或 * 搜索多个文件。如果当前文件没有匹配的行,搜索 less 命令行指定的下一个文件^F 或 @ 命令行列表中第一个文件的第一行开始搜索,不管当前屏幕上显示的是什么,也不管 -a 或 -j 选项的设置是什么^K 突出显示与当前屏幕上的模式匹配的任何文本,但不要移动到第一个匹配项(保持当前位置)^R 不要解释正则表达式元字符;也就是说,做一个简单的文本比较
?PATTERN向后搜索包含模式的第 N 行,N 默认为 1。从屏幕首行的前一行开始搜索。在 PATTERN 前输入指定特殊字符可以控制搜索的行为。主要有:^N 或 ! 搜索不包含 PATTERN 的行^E 或 * 搜索多个文件。如果搜索到达当前文件的开头,但没有找到匹配项,那么搜索将继续在命令行列表中的前一个文件中进行^F 或 @ 从命令行列表中最后一个文件的最后一行开始搜索,不管当前屏幕上显示的是什么,也不管 -a 或 -j 选项的设置是什么^K  等于前向搜索^R  等于前向搜索
ESC-/PATTERN等于 /*
ESC-?PATTERN等于 ?*
n跳转到下一个匹配项
N跳转到前一个匹配项
&pattern只显示符合模式的行,与模式不匹配的行将不显示
:e [filename]打开另一个文件
^X^V, E等同于 :e
:n检查下 N 个文件(从命令行中给定的文件列表);N 默认为 1,可以在键入命令前输入 N
:p检查前 N 个文件(从命令行中给定的文件列表);N 默认为 1,可以在键入命令前输入 N
:x检查第 N 个文件(从命令行中给定的文件列表);N 默认为 1,可以在键入命令前输入 N
:d从文件列表中删除当前文件
t跳到下一个标签
T跳到上一个标签
=, ^G, :f打印有关正在查看的文件的一些信息,包括它的名称、行号和显示底线的字节偏移量。如果可能的话,打印文件的长度、文件中的行数和最后显示行至首行占文件的百分比
-后跟命令行选项字母,这将更改该选项的设置并打印一条描述新设置的消息
--类似于命令 -,但是后跟长选项的名称
-+后面跟着一个命令行选项字母,这将把选项重置为默认设置,并打印一条描述新设置的消息
--+类似于命令 -+,但是后跟长选项的名称
-!后面跟着一个命令行选项字母,这将把选项重置为其默认设置的“反面”,并打印一条描述新设置的消息。这不适用于数值或字符串值选项
--!类似于命令 -!,但是后跟长选项的名称
_下划线,后跟命令行选项字母后,将打印一条描述该选项当前设置的消息。选项的设置没有改变
__两个下划线,类似于命令 _,但是后跟长选项的名称
+CMD使指定的命令 CMD 在每次检查新文件时执行
V显示 less 的版本号
q, Q, :q, :Q, ZZ退出
v启动编辑器编辑当前文件,默认为 vim。可通过环境变量 VISUAL 或 EDITOR 指定
! shell-command执行 Shell 命令
| <m> shell-command将当前屏幕的第一行到 <m> 指定的位置作为管道的内容传送给 Shell 命令。m 可以是 ^(文件开始位置)、$(文件结束位置)、点号 . 或换行(当前屏幕的内容)
s FILENAME将输入保存到文件中。这只在输入是管道而不是普通文件时才有效

如此繁多的交互式命令,常用的并不多,符合二八定律,记住下面这些命令足以应对日常浏览需求。

ENTER 向前滚动一行
y 向后滚动一行d 向前滚动半屏
u 向后滚动半屏f 向前滚动一屏
b 向后滚动一屏g 跳转到文件首行
G 跳转到文件末行/PATTERN 向前搜索指定内容
n 跳转到下一个匹配项
N 跳转到前一个匹配项h 显示帮助信息
q 退出

注意,如果环境变量 LESSSECURE 设置为 1,表示 less 运行在安全模式下,某些特性无法使用:

! 执行 Shell 命令
| 管道命令
:e 打开新文件命令
v 编辑命令
s 保存命令
-k 使用 lesskey 文件
文件名中包含星号
文件名自动补全

5.常用示例

(1)查看文件,同时显示行号。

less -N /etc/passwd1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
...

(2)执行命令,然后分页显示。

ps -ef | less -N

(3)浏览多个文件。

less a.txt b.txt

在浏览 a.txt 时,输入 :n 后,切换到 b.txt,输入 :p 后,切换回 a.txt。也可以使用 :e 命令打开另一个文件。

(4)从首行开始向前搜索。

g : 跳转到首行
/ : 使用模式进行搜索,并跳转到下一个匹配文本行
n : 向前跳转到下一个匹配文本行
N : 向后跳转到下一个匹配文本行# 或者。无需事先跳转到文件首行
/@PATTERN:先输入 /,再输入 @,后输入搜索模式,最后回车

(5)从末行开始向后搜索。

G : 跳转到末行
? : 使用一个模式进行搜索,并跳转到下一个匹配文本行
n : 向后跳转到下一个匹配文本行
N : 向前跳转到下一个匹配文本行# 或者。无需事先跳转到文件末行
?@PATTERN:先输入 ?,再输入 @,后输入搜索模式,最后回车

(6)打开文件时跳转到指定行 NUM。

less -N +NUM FILE

(7)查看 less 帮助信息。

less -?

参考文献

less(1) - Linux manual page - man7.org
【Linux】一步一步学Linux——less命令(40)

Linux 命令(89)—— less 命令相关推荐

  1. 【Linux】一步一步学Linux——groupmod命令(89)

    00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 groupmod命令更改群组识别码或名称.需要更改群组的识 ...

  2. linux who命令测试,Linux中的who命令详细示例

    who是一个命令行实用程序,可打印当前登录用户的列表.它还可以显示当前的运行级别,上次系统引导的时间等.在本文中,我们解释展示了GNU coreutils软件包中捆绑的who命令用法示例. 如何使用w ...

  3. linux centos7重启路由命令行,centos7 永久添加静态路由

    查看路由表 ip route show|column -t route -n 永久添加路由 vim /etc/sysconfig/network-scripts/route-ens224 ./ via ...

  4. linux命令之grep 命令

    Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达 ...

  5. linux性能优化常用命令

    作为一名linux系统管理员,最主要的工作是优化系统配置,使应用在系统上以最优的状态运行,但是由于硬件问题.软件问题.网络环境等的复杂性 和多变性,导致对系统的优化变得异常复杂,如何定位性能问题出在哪 ...

  6. Linux 后台开发常用命令目录(更新 ing)

    文章目录 前言 帮助命令 进程与作业管理 文本查看 文本编辑 编程相关 系统管理 文件传输 网络管理 文件与目录管理 磁盘管理 权限管理 用户与组管理 备份压缩 代码版本控制 性能检测 实用工具 前言 ...

  7. Linux远程管理常用命令(超全超详细)【持续更新】

    目录 1. shutdown命令 2.ifconfig命令 3.uname命令 4.uptime命令 5.free命令 6.who命令 7.last命令 8.history命令 9.ping命令 10 ...

  8. 入门学习Linux常用必会命令实例详解

    Linux提供了大量的命令,利用它可以有效地完成大量的工作,如磁盘操作.文件存取.目录操作.进程管理.文件权限设定等.所以,在Linux系统上工作离不开使用系统提供的命令.要想真正理解Linux系统, ...

  9. Linux系统使用ss命令查看端口状态

    Linux系统使用ss命令查看端口状态 Linux系统使用ss命令查看端口状态 目录 1.可用工具 2.ss帮助 2.1 选项分类说明 2.2 过滤选项family 2.3 过滤选项state 2.4 ...

  10. Linux基本的常用命令

    Linux基本的常用命令 目录管理: 关于目录的一些命令演示 # cd为切换目录命令 [root@iZ2zedtw714kk6kmn4p41qZ /]# cd /home # ./表示当前目录 [ro ...

最新文章

  1. java中map如何实现遍历_Java中如何遍历Map对象的4种方法
  2. linux 日志面试题,Linux运维 | 面试题
  3. mysql远程连接打不开_MySql远程连接无法打开解决办法
  4. javascript图片库威力增强版
  5. 是谁断送了网络工程师的前途
  6. 管理感悟:如何处理不干活的主管
  7. linux scp后台运行的办法
  8. 打造千万级流量秒杀 过载保护:如何通过熔断和限流解决流量过载问题?
  9. 复制计算机软件,一键复制粘贴工具
  10. 遥感道路提取的补充C-UNet: Complement UNet for Remote Sensing Road Extraction
  11. 关于溢出标志OF和进/借位标志CF的判断
  12. 天翼云桌面Linux,天翼云Linux主机如何挂载数据盘
  13. [渝粤教育] 天津大学 21 秋 物理化学2B(李松林,侯德榜) 参考 资料
  14. Converged Multimedia Networks
  15. Linux上面查看虚拟机的ID,Linux虚拟机的设备id与盘符不相符怎么办?
  16. 利用SW插件导出urdf文件
  17. 高新技术八大领域详细分类?
  18. R语言临床预测模型:分层构建COX生存回归模型STRATIFIED COX MODEL、KM生存曲线、PH假设检验...
  19. 制作个人网站 之 人生进度条
  20. 基于微信小程序的四六级助手系统-计算机毕业设计

热门文章

  1. 使用pdfbox2.0将PDF转换为图片时后台报Cannot read JBIG2 image: jbig2-imageio is not installed错误的解决方法
  2. 解决IPad和IPhone接收exchange邮件…
  3. bcoma 应用程序发生错误_我的电脑打开打开应用程序就会显示应用程序错误
  4. 华为云主机云服务器备份的发展和现状
  5. 操作系统、乱码、驱动、键盘失灵、win7
  6. 保险后市场 一个瞄准年轻消费者的市场正在诞生
  7. Python打开文件对话框(MacWin通用)
  8. 程序员怎么向上管理领导拿高绩效!
  9. 你真的懂Spring Cloud+Nginx秒杀实战,Nginx高性能秒杀和限流吗?
  10. 华为OD机试真题:分糖果-均分【2022 Q1 Q2 |200分】