Bootstrap

【linux013】文件操作命令篇 - less 命令

less 命令

less 是 Linux 中强大的文件分页查看命令,比 more 更灵活且功能更强大。less 支持双向滚动搜索显示大文件等功能,适用于查看文件内容或管道输出的大量文本。

1、基本用法

less [选项] 文件名...

功能

  • 逐页查看文件内容:用户可以通过翻页键(如空格键和 b 键)来逐页查看文件内容。
  • 双向导航:与 more 命令只能向后翻页不同,less 命令允许用户向前和向后翻页。
  • 搜索功能:支持在文件中搜索特定的字符串,并高亮显示匹配项。
  • 跳转到指定位置:可以直接跳转到文件的开头、结尾或指定行。
  • 显示行号:可以选择显示或隐藏行号。
  • 兼容多种键盘操作:兼容常用的文本编辑器和字处理程序的键盘操作。

2、常见选项

  • -e:文件内容显示完毕后,自动退出。
  • -f:强制显示文件,即使文件是二进制文件也尝试以文本方式显示。
  • -g:关闭搜索时的高亮显示,仅显示当前搜索到的关键字,以提高显示速度。
  • -i:在搜索时忽略大小写的差异。
  • -l:搜索时忽略换行符,将文件作为单个长行处理。
  • -N:在每行行首显示行号。
  • -n:与 -N 相反,不显示行号(但通常不是 less 的标准选项,可能是某些特定版本的扩展)。
  • -p pattern:以高亮显示模式打开文件,并直接跳转到第一个匹配指定模式的行。
  • -q:静默模式,不显示任何提示信息(如百分比和等待输入的消息)。
  • -s:将连续多个空行压缩成一行显示。
  • -S:将长行单行显示,不换行。
  • -x number:将 TAB 字符显示为指定个数的空格字符,默认是 8 个空格。
  • -m:在提示符中显示详细信息(如文件名和当前百分比)。
  • --help:显示 less 命令的帮助信息。
  • --version:显示 less 命令的版本信息。

3、交互式键盘命令

less 支持丰富的键盘操作,用于滚动、搜索和跳转。

按键功能
SPACEf向下翻一屏
b向上翻一屏
Enter向下翻一行
ky向上翻一行
/pattern向下搜索匹配 pattern 的字符串
?pattern向上搜索匹配 pattern 的字符串
n跳转到下一个搜索结果
N跳转到上一个搜索结果
g跳转到文件开头
G跳转到文件末尾
q退出 less
h显示帮助信息
mX'X标记当前位置为 X,并跳转到标记 X
:n显示下一个文件(多文件模式下)
:p显示上一个文件(多文件模式下)

4、举例

-N 选项举例:

# 在每一行的左侧显示行号。
less -N xiaopeng.txt

-S 选项举例:

# 如果一行内容超过屏幕宽度,默认会自动换行显示,使用 -S 后会截断显示,需左右滚动查看
less -S xiaopeng.txt		

-X 选项举例:

# 退出 less 后保留最后一屏内容,不清空终端。
less -X xiaopeng.txt

-F 选项举例:

# 如果文件内容小于一屏,直接显示内容并退出。
less -F xiaopeng.txt

-E 选项举例:

# 当文件滚动到末尾后,按下任意键自动退出 less。
less -E xiaopeng.txt

-r-R 选项举例:

# -r:显示原始的控制字符(如 ANSI 转义序列)。
# -R:显示高亮等颜色信息,但不显示其他控制字符。

+ 选项举例:

# 显示从第 50 行开始的内容。
less +50 xiaopeng.txt
# 从匹配的字符串开始:
less +/keyword xiaopeng.txt

-p 选项举例:

# 高亮显示并从匹配的字符串开始。
less -p "search_term" xiaopeng.txt

-i 选项举例:

# 搜索时不区分大小写(如搜索 word 时会匹配 Word、WORD)。
less -i xiaopeng.txt

–help 选项举例:

# 显示帮助。
less --help

–version 选项举例:

# 显示命令的版本信息。
less --version

5、注意事项

适合查看大文件

  • less 只加载文件的当前部分,性能更高,适合处理大文件,而 cat 会加载整个文件内容。

多文件模式

  • 可以同时查看多个文件,使用 :n:p 在文件之间切换。

配置高亮显示

  • 默认高亮可能依赖于终端设置,确保使用 -R 参数以支持颜色输出。

操作习惯

  • less 的操作与 vi 类似,熟悉 vi 的用户可以更快速上手。

文件末尾自动退出

  • 如果想要文件滚动到末尾时直接退出,可以使用 -E

与管道结合使用

  • 适合处理长命令输出,避免屏幕信息被快速刷屏。
    在这里插入图片描述
;