less 指令

目录
警告
本文最后更新于 2023-10-22,文中内容可能已过时。

less 指令

非常好用的文件浏览工具,功能强大,vim 是文件编辑工具,less 就是文件浏览工具,需要重点掌握

less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,在显示大型文件的时候比文本编辑器比如 vi 有更高的效率

跟 more 一样,这个命令的重点是快捷操作,而不是参数选项

1
less [参数] 文件...
  • -b: <缓冲区大小> 设置缓冲区的大小

  • -e:当文件显示结束后,自动离开(到最后一行了,再浏览下一行,自动退出)

  • -f:强迫打开特殊文件,例如外围设备代号、目录和二进制文件

  • -g:只标志最后搜索的关键词

  • -i:忽略搜索时的大小写

  • -m:显示类似more命令的百分比

  • -N:显示每行的行号

  • -o: <文件名> 将less输出的内容在指定文件中保存起来,感觉这个参数没必要,用管道不就可以了

  • -Q:不使用警告音

  • -s:显示连续空行为一行

  • -S:行过长时间将超出部分舍弃

  • -x: <数字> 将"tab"键显示为规定的数字空格

常用 -m -N


less相当于一个浏览工具,可以用于浏览别的命令的执行结果,非常适合和管道配合使用。eg: ps -ef | less

浏览多个文件的时候,用 :n:p 来回切换。n 是 next 的意思,p 是 previous 的意思,


快捷操作

  1. 全屏导航
  • ctrl + f:向下移动一屏

  • ctrl + b:向上移动一屏

  • ctrl + d:向下移动半屏

  • ctrl + u:向上移动半屏

以上 4 个都和 Vim 的快捷键相同。而且在less中,以上快捷键还可以简化为:

  • f:向下翻一页

  • b:向上翻一页

  • 空格键:下翻一页

  • d:向后翻半页

  • u:向前滚动半页

  1. 单行导航
  • ctrl + e:向下移动一行

  • ctrl + y:向上移动一行

以上 2 个都和 Vim 的快捷键相同

  • e:向下移动一行

  • y:向上移动一行

  • j:向下移动一行,vim 中 j 是向下移动光标,

  • k:向上移动一行,vim 中 k 是向上移动光标

  • 回车键:滚动一行

  1. 其它导航
  • G:移动到最后一行

  • g:移动到第一行

  • ng:移动到第 n 行

  • q/ZZ: 退出 less 命令

以上 4 个除了 g 回到第一行其他三个都和 Vim 的快捷键相同

  1. 搜索
  • /字符串:向下搜索"字符串"的功能

  • ?字符串:向上搜索"字符串"的功能

  • n:重复前一个搜索(与 /? 有关)

  • N:反向重复前一个搜索(与 /? 有关)

以上 4 个都和 Vim 的快捷键相同,less 没有替换功能

5.其它有用的命令

  • v:使用配置的编辑器编辑当前文件,退出编辑器之后回到less模式,很好用。

  • h:显示 less 的帮助文档

  • &pattern仅显示匹配 pattern 模式的行,而不是整个文件,这跟搜索不一样,搜索只会高亮查询到的东西,其他行还是显示的。再次输入&,然后回车,退出匹配模式。这里可以使用正则的 ERE 字符集

  1. 标记导航

当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:

按下 m,然后再按 a,即使用 a 标记文本的当前位置,然后输入 '(单引号),再输入 a,导航到标记 a 处

还可以使用别的符号来进行标记,非常方便。

  1. 读取最新的内容

less打开文件之后,再敲击Shift+F,或者直接用 less +F filename 打开文件,这样less就会监控文件的修改,Ctrl+c退出。这一点非常适合查看日志文件。请注意,这仅适用于追加。如果文件被删除或就地编辑,less则不会显示这些更改。

参考讨论:watch - Is there a way to dynamically refresh the less command? - Unix & Linux Stack Exchange

0%