每天一个 Linux 命令(24)—— less

772 阅读6分钟

这是我参与11月更文挑战的第29天,活动详情查看:2021最后一次更文挑战

命令简介

类似于 more 命令,less 命令也是一个分页显示程序,用于逐页显示指定的输入文件。但功能更强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻,只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown]等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜,而且 less 在查看之前不会加载整个文件。

命令格式

less [参数]  文件

命令参数

参数解释
-a,--search-skip-screen表示从当前屏幕的最后一行之后开始检索,从而跳过当前显示的所有数据行。通常,检索是从当前屏幕的第二行开始检索的。
-b size,--buffers=size指定 less 处理每一个输入文件时使用的缓冲区空间数量(单位为 KB)。
-B,--auto-buffers通常,当读取的数据来自管道时,缓冲区空间是根据需要自动分配的。
-c,--clear-screen从第一行开始逐行向下刷新屏幕。通常,整屏刷新是从屏幕底部逐行向上滚动实现的。
-e,--quit-at-eof令 less 在第二次遇到文件结束符时自动退出 less 命令。通常,只有使用 q 命令一种方法才能退出 less 命令。
-E,--QUIT-AT-EOF令 less 在第一次遇到文件结束符时就立即自动退出 less 命令。
-f,--force强制打开目录或设备特殊文件等非普通文件。也禁止在打开二进制文件时发出警告信息。通常,less 会拒绝打开非普通文件。
-F,--quit-if-one-screen令 less 在第一屏即可显示整个文件时自动退出 less 命令。
-g,--hilite-search通常,less 会高亮显示匹配最近一个检索命令的所有字符串。
-G,--HILITE-SEARCH禁止高亮显示检索命令发现的所有字符串。
-h n,--max-back-scroll=n指定向后(文件前部)滚动的最大行数。如果屏幕后滚超过 n 行,以前移的方向刷新屏幕。
-i,--ignore-case表示检索时忽略大小写字母的差异。但是,如果指定的检索模式中含有大写字母,将会忽略此选项,即检索时仍然区别大小写字母。
-I,--IGNORE-CASE类似于 -i 选项,但即使指定模式中含有大写字母,检索时仍然忽略大小写字母的差异。
-j n,--jump-target=n指定“目标”行的屏幕位置。“目标”行可以是匹配检索模式的行,以及直接跳转或按百分比跳转的行。
-J,--status-column在屏幕左边显示一个状态列。状态列将会显示匹配当前检索的数据行。
-K,--quit-on-intr当按下中断键(Ctrl-C 组合键)时能够立即退出 less 命令。通常,中断键不能终止 less 命令,只是返回到命令提示模式。
-m,--long-prompt令 less 采用与 more 同样的提示方式,如显示已读文件的百分比等。
-M,--LONG-PROMPT令 less 采用与 more 同样的提示方式,且显示更多的提示信息。
-n,--line-numbers禁止显示行号。使用行号的默认做法会降低 less 的运行速度,尤其是在处理大型输入文件时。禁止显示行号将会避免这个问题。
-N,--LINE-NUMBERS在输出的每行数据之前插入一个行号。
-o logfile,--log-file=logfile在查阅文件的同时,把输入数据复制到指定的文件。仅当输入文件是管道文件(而非普通文件)时,才能使用这个选项。如果指定的文件已经存在,在覆盖文件之前,less会提请用户确认。
-O logfile,--LOG-FILE=logfile类似于“-o”选项,但即使指定的文件存在,覆盖之前也不会提请用户确认。
-q,--quiet,--silent采用适度的“安静”操作方式。除非出现错误,禁止终端发出警示音。
-Q,--QUIET,--SILENT采用彻底的“安静”操作方式,完全禁止终端发出任何警示音。
-r,--raw-control-chars以“原始”的方式显示不可打印字符,而通常是以控制字符的形式显示不可打印字符。
-s,--squeeze-blank-lines把多个连续的空行合并为一个空行。
-S,--chop-long-lines截断而非延续超长的数据行。默认的处理方式是把超长的数据行延续到下一行显示。
-u,--underline-special如果输入文件中存在退格符与回车,按可打印字符处理,即不加任何处理地直接送到终端。
-U, --UNDERLINE-SPECIAL如果输入文件中存在退格符、制表符与回车字符,按控制字符处理,即按照 -r 选项的做法处理输入文件中的退格符、制表符和回车字符。
-w,--hilite-unread在前滚一个满屏后临时高亮显示第一个“新”行。第一个“新”行是指紧随前一屏最后一行的数据行。
-W,--HILITE-UNREAD类似于-w 选项,高亮显示第一个“新”行,不管是满屏前滚,还是大于一行的多行前移。
-y n,--max-forw-scroll=n指定向前(文件后部)滚动的最大行数。如果屏幕前滚超过 n 行,重新刷新屏幕。如果需要,可以使用 -c 选项从上到下刷新屏幕。通常,任何前移都会引起屏幕滚动。
-[z]n,--window=n使用指定的行数 n 作为窗口滚动的默认行数。默认的行数是一个满屏的行数。
-#[n],--shift=[n]指定左右箭头命令横向滚动的默认列数。
--命令行选项结束标志。紧随其后的任何参数均按文件名解释。
+如果某个命令行选项的首字符是加号“+”,紧随其后的字符实际上是 less 的一个内部命令,也是运行 less 命令后执行的第一个内部命令。
-?,--help类似于内置命令 h,显示 less 命令的内置命令、命令选项及其简单说明等帮助信息。
-V,--version显示命令的版本与版权等信息,然后退出。

应用实例

  1. 查看文件
less log.log
  1. ps 查看进程信息并通过 less 分页显示
ps -ef |less

常用导航命令

  1. 全屏导航:

    1. ctrl + F:向前移动一屏
    2. ctrl + B:向后移动一屏
    3. ctrl + D:向前移动半屏
    4. ctrl + U:向后移动半屏
  2. 单行导航:

    1. j:向前移动一行
    2. k:向后移动一行
  3. 其它导航:

    1. G:移动到最后一行
    2. g:移动到第一行
    3. q/ZZ:退出 less 命令
  4. 其它有用的命令:

    1. v:使用配置的编辑器编辑当前文件
    2. h:显示 less 的帮助文档
    3. &pattern:仅显示匹配模式的行,而不是整个文件
  5. 标记导航当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:

    1. ma:使用 a 标记文本的当前位置
    2. ‘a导航到标记 a 处

参考文档