Linux系统之less命令的基本使用
- 一、less命令介绍
- 二、less命令的使用帮助
- 2.1 less命令的帮助信息
- 2.2 less命令主要选项解释
- 三、less命令的基本使用
- 3.1 查看文件内容
- 3.2 结合管道使用
- 四、注意事项

一、less命令介绍
在Linux和Unix类操作系统中,文件浏览是一项常见的任务,为了提高这一任务的效率,系统提供了诸如
less等多样的工具。less命令是一个分页显示文本文件内容的程序,它以灵活性和用户友好性著称,相比传统的more文本查看器,less不仅支持向前滚动查看文件内容,还允许用户向后翻阅文档,为文件浏览提供了更大的便利。与more不同的是,less不会一次性将整个文件加载到内存,而是按需读取文件的一部分,使得即使是大型文件也能迅速打开并查看。less配备了一套丰富的键盘快捷键,例如使用PageUp和PageDown键可以分别向上和向下翻页,而按下Q键则退出程序,这些功能简化了文件浏览的过程,提高了操作的效率。
二、less命令的使用帮助
2.1 less命令的帮助信息
在命令行终端中,我们使用–help`选项查less命令的基本帮助信息。
less --help

2.2 less命令主要选项解释
- 主要选项解释:
| 短选项 | 长选项 | 描述 |
|---|---|---|
-a | --search-skip-screen | 搜索跳过当前屏幕。 |
-A | --SEARCH-SKIP-SCREEN | 搜索从目标行之后开始。 |
-b [N] | --buffers=[N] | 设置缓冲区数量。 |
-B | --auto-buffers | 不自动为管道分配缓冲区。 |
-c | --clear-screen | 通过清除而非滚动来重绘屏幕。 |
-d, -D xcolor | --dumb, --color=xcolor | 哑终端或设置屏幕颜色。 |
-e, -E | --quit-at-eof, --QUIT-AT-EOF | 文件结束时退出。 |
-f | --force | 强制打开非常规文件。 |
-F | --quit-if-one-screen | 如果整个文件在第一屏内则退出。 |
-g | --hilite-search | 只高亮最后一次搜索匹配。 |
-G | --HILITE-SEARCH | 不高亮任何搜索匹配。 |
-h [N] | --max-back-scroll=[N] | 向后滚动限制。 |
-i | --ignore-case | 在不包含大写的搜索中忽略大小写。 |
-I | --IGNORE-CASE | 在所有搜索中忽略大小写。 |
-j [N] | --jump-target=[N] | 目标行的屏幕位置。 |
-J | --status-column | 在屏幕左边缘显示状态栏。 |
-k [file] | --lesskey-file=[file] | 使用指定的lesskey文件。 |
-K | --quit-on-intr | 在收到Ctrl+C时退出less。 |
-L | --no-lessopen | 忽略LESSOPEN环境变量。 |
-m, -M | --long-prompt, --LONG-PROMPT | 设置提示样式。 |
-n, -N | --line-numbers, --LINE-NUMBERS | 显示行号(或不使用)。 |
-o [file], -O [file] | --log-file=[file], --LOG-FILE=[file] | 将内容复制到日志文件(有条件或无条件覆盖)。 |
-p [pattern] | --pattern=[pattern] | 从命令行开始于模式处。 |
-P [prompt] | --prompt=[prompt] | 定义新的提示符。 |
-q, -Q | --quiet, --QUIET, --silent, --SILENT | 禁止终端响铃。 |
-r, -R | --raw-control-chars, --RAW-CONTROL-CHARS | 输出原始控制字符。 |
-s | --squeeze-blank-lines | 压缩多行空白行。 |
-S | --chop-long-lines | 截断而不是换行长行。 |
-t [tag] | --tag=[tag] | 查找标签。 |
-T [tagsfile] | --tag-file=[tagsfile] | 使用替代的标签文件。 |
-u, -U | --underline-special, --UNDERLINE-SPECIAL | 改变退格处理方式。 |
-V | --version | 显示less版本号。 |
-w | --hilite-unread | 在向前翻屏后高亮第一个新行。 |
-W | --HILITE-UNREAD | 在任何前进动作后高亮第一个新行。 |
-x [N[,...]] | --tabs=[N[,...]] | 设置制表位。 |
-X | --no-init | 不使用termcap初始化/去初始化字符串。 |
-y [N] | --max-forw-scroll=[N] | 向前滚动限制。 |
-z [N] | --window=[N] | 设置窗口大小。 |
三、less命令的基本使用
3.1 查看文件内容
less提供了直观的导航方式,可以使用以下按键进行操作:
- PageUp/PageDown:向上/向下翻页。
- 空格键 或
f:向下滚动一页。 - b:向上滚动一页。
- Enter 或
j:向下滚动一行。 - k:向上滚动一行。
- g:跳转到文件开头。
- G:跳转到文件末尾。
搜索内容:
如果需要查找特定的信息,可以使用搜索功能:
/模式:搜索包含指定字符串的行。找到后,按n查找下一个匹配项,按N返回到上一个匹配项。
退出程序:
当完成文件查看时,可以通过按下q键来退出less程序。
高级选项:
除了基本的浏览和搜索功能外,less还支持许多高级选项以增强用户体验。例如:
-N:显示每行的行号。-S:截断过长的行,避免自动换行。-X:防止退出less时清除屏幕。
这些选项可以在调用less时作为参数传递,以自定义其行为。
less -NSX /var/log/syslog

3.2 结合管道使用
less不仅仅局限于直接查看文件。它还可以与其他命令结合使用,通过管道将其他命令的输出传递给less进行查看。比如,要查看日志文件的最后20行:
tail -n 20 /var/log/syslog | less

四、注意事项
-
使用
q键退出less,避免其他可能引起误操作的组合键。 -
搜索时,默认区分大小写,需忽略大小写可使用
-i参数或按i键。 -
长行会自动换行显示,如需截断长行,请使用
-S参数启动less或运行时按s切换。 -
查看动态更新的文件时,使用
F键进入跟随模式,并用Ctrl+C退出该模式。 -
重定向输出到日志文件时要小心,确保不会覆盖重要数据,特别是使用
-O参数时。 -
环境变量如
LESSOPEN和LESSCLOSE可改变行为,不确定时可用-L参数禁用它们的影响。 -
终端不支持颜色输出时,尝试使用
-R参数允许原始控制字符通过以正确显示格式化内容。 -
对于管道输入,
less不提供行号信息,除非指定了-N参数,且不能保存标准输入到文件中。
