less (Unix)
外观
Xterm中的 less输出 | |
| 开发者 | Mark Nudelman |
|---|---|
| 首次发布 | 1984年[1] |
| 当前版本 | 590(2021年7月10日) |
| 预览版本 | 590(2021年6月3日) |
| 源代码库 | github |
| 编程语言 | C |
| 操作系统 | 跨平台 |
| 类型 | 系统软件 |
| 许可协议 | 双重授权:GNU GPLv3与自定义的BSD风格授权条款 |
| 网站 | www www |
less是UNIX、Microsoft Windows与类Unix系统上的终端标签页查看程序,用来一次用整个屏幕显示的范围展示(但不能编辑)文本文件的内容。其与more类似,但可以向前或向后浏览文件的延伸功能。与大多数的Unix文本编辑器或查看程序不同,less在启动时不会一次读取整个文件,如此可以加快大文件的加载速度。
历史
[编辑]Mark Nudelman最初在1983至1985年间编写了less,当时是因为需要可以向后滚动显示文字的more。原本less是为Unix开发的,但是其已被移植到其他许多操作系统,其中包含了MS-DOS、Microsoft Windows、OS/2与OS-9,以及如Linux等的类Unix系统[2]。Nudelman至今仍在维护它。
为了协助记住less与more的不同,有个常见的笑话是"less > more",代表了less的功能比more更多。类似的说法是"less is more, more or less"(“少即是多,或多或少”)。
用法
[编辑]可以传递选项给less以改变其行为,例如要在屏幕上显示的行数。部分选项可能会因操作系统而异。在less显示文件时,也可以使用多种指令来浏览文件。这些指令是以more与vi使用的指令为基础。并可在文件中搜索符合的字符模式。
默认情况下,less会将文件内容显示到标准输出(一次显示一个屏幕的范围)。如果省略文件名称参数,则其会显示来自标准输入的内容(通常是另一个指令透过管道的输出)。如果输入被重定向到终端以外的任何东西,例如另一个指令的管道,则此时less的行为会类似于cat。
指令句法为:
less [選項] [檔案名稱]
常用选项
[编辑]-g:仅突显任何搜索字符串的目前符合项目。-i:搜索时不区分大小写。-m:显示更详细的提示信息,包含文件位置。-N:显示行号(查看源代码时较有用)。-x3:将定位停驻点(每个定位字符的栏数)设置为指定的数字(在此例中为3,查看源代码时较有用)。-S:停用过长行的换行。较长的行可用横向滚动来查看。-X:结束less时,将文件内容保留在屏幕上。-?:显示说明。--follow-name:跟随模式,用来查看输出中的日志。
常用指令
[编辑]| 按键 | 指令 |
|---|---|
| Space bar | 下一页 |
| d | 下半页 |
| b | 前一页 |
| u | 前半页 |
| v | 编辑内容 |
| j 或 ↵ Enter | 下ㄧ行 |
| k | 前ㄧ行 |
| Home | 文件顶部 |
| End | 文件结尾 |
| F | 跟随模式(供日志使用)。Follow Mode (for logs). Interrupt to abort. |
| g 或 < | 第一行 |
| G 或 > | 最后ㄧ行 |
⟨n⟩G
|
跳到第⟨n⟩行
|
/⟨text⟩
|
向前搜索⟨text⟩。文字会被视为正则表达式。
|
?⟨text⟩
|
如同/,但为向后搜索。 |
| n | 下一个符合的搜索结果 |
| N | 上一个符合的搜索结果 |
| Escu | 关闭符合突显(请见-g命令行选项)
|
-⟨c⟩
|
切换选项⟨c⟩,例如-i会切换是否要在搜索时忽略大小写
|
m⟨c⟩
|
设置标记⟨c⟩
|
'⟨c⟩
|
跳到标记⟨c⟩
|
| = 或 Ctrl+G | 文件信息 |
| :n | 下一个文件 |
| :p | 上一个文件 |
| h | 说明。这会使用less显示,q离开。
|
| q | 离开 |
示例
[编辑]less -M readme.txt # 讀取 "readme.txt"
less +F /var/log/mail.log # 供紀錄檔使用的跟隨模式
file * | less # 簡易檔案分析
less -I -g void *.c # 在所有 .c 檔案不區分大小寫搜尋"void"