less (Unix)
用來檢視文字檔案的命令列工具
less
是UNIX、Microsoft Windows与类Unix系统上的终端标签页查看程序,用来一次用整个屏幕显示的范围展示(但不能编辑)文本文件的内容。其与more类似,但可以向前或向后浏览文件的延伸功能。与大多数的Unix文本编辑器或查看程序不同,less在启动时不会一次读取整个文件,如此可以加快大文件的加载速度。
开发者 | Mark Nudelman |
---|---|
首次发布 | 1984年[1] |
当前版本 | 590(2021年7月10日 | )
预览版本 | 590(2021年6月3日 | )
原始码库 | github |
编程语言 | C |
操作系统 | 跨平台 |
类型 | 系统软件 |
许可协议 | 双重授权:GNU GPLv3与自定义的BSD风格授权条款 |
网站 | www www |
历史
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"