Linux中less命令的深度使用指南
less是Linux和Unix系统中一个非常强大的文本查看工具,它允许用户以分页的方式查看大型文本文件,同时还提供了丰富的交互功能,如搜索、跳转、高亮显示等。本文将深入介绍less命令的使用方法,并通过多个代码样例展示其强大功能。

基本用法
查看文件
要查看一个文件的内容,只需在命令行中输入less后跟文件名即可:
less filename.txt导航
- 向下翻页:按空格键或
f键。 - 向上翻页:按
b键(backward)。 - 向前滚动一行:按回车键。
- 向后滚动一行:使用方向键的
↑键(在某些终端中可能需要配置)。
退出
- 按
q键退出less。
搜索文本
less提供了强大的文本搜索功能,允许用户快速定位到包含特定关键字的行。
正向搜索
要执行正向搜索(从当前位置向下搜索),只需在less命令行模式下(即按-N键进入的模式,但通常不需要手动进入,直接按/即可)输入/后跟搜索词,然后按回车键:
/search_term反向搜索
要进行反向搜索(从当前位置向上搜索),只需在less命令行模式下输入?后跟搜索词,然后按回车键:
?search_term重复搜索
- 重复上一次的正向搜索:按
n键。 - 重复上一次的反向搜索:按
N键。
跳转到特定位置
跳转到文件的开头
- 按
g键。
跳转到文件的末尾
- 按
G键(大写)。
跳转到指定行
less没有直接的命令来跳转到文件的特定行号,但你可以结合使用-N(显示行号)和搜索功能来实现这一目的。例如,如果你知道要跳转到的行包含某个特定文本,可以使用搜索功能。否则,你可以通过计算百分比或使用less的日志功能(如果适用)来大致定位。
然而,对于需要精确跳转到行号的情况,可以考虑使用sed、awk或tail、head等命令组合来实现,但这已经超出了less的直接功能范围。
高亮显示
虽然less默认不提供文本高亮功能,但你可以通过配置环境变量或使用less的-R(或--RAW-CONTROL-CHARS)选项来支持ANSI转义序列,这通常用于颜色高亮。但是,请注意,这取决于你的less版本和终端对ANSI转义序列的支持情况。
其他有用选项
-N或--line-numbers:显示行号。-M或--LONG-PROMPT:在底部显示长提示符(包括当前百分比位置)。-i或--ignore-case:在搜索时忽略大小写。-s或--squeeze-blank-lines:将连续的空行压缩成一行显示。
代码样例
显示文件内容并显示行号
less -N filename.txt搜索并高亮显示特定文本(如果终端支持)
首先,确保你的文本文件包含ANSI转义序列用于高亮(这通常不是标准文本文件的情况),或者你的less版本和终端支持通过其他方式高亮显示搜索结果。然后,你可以尝试使用-R选项(尽管它可能不直接高亮搜索结果):
less -RN filename.txt
# 然后进行搜索
/search_term请注意,-R选项主要用于处理文件中的ANSI转义序列,而不是直接用于高亮搜索结果。
使用less查看压缩文件(如果less支持)
某些版本的less(如less的GNU版本)支持直接查看gzip或bzip2压缩的文件内容。这通常通过自动检测文件扩展名或使用特定的命令行选项来实现。但请注意,这取决于你的less版本和配置。
less filename.txt.gz
# 或者
lessz filename.txt.gz # 如果`lessz`是你的系统中用于查看压缩文件的别名或脚本然而,更常见的做法是使用zcat(对于gzip压缩的文件)或bzcat(对于bzip2压缩的文件)结合管道将内容传递给less:
zcat filename.txt.gz | less
# 或
bzcat filename.txt.bz2 | less结论
less是Linux和Unix系统中不可或缺的文本查看工具,它提供了丰富的交互功能和高效的文本处理能力。通过掌握less的基本用法和高级特性,用户可以更加高效地查看、搜索和分析大型文本文件。希望本文能够帮助你更深入地了解和使用less命令。









