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"