跳转到内容

less (Unix)

本页使用了标题或全文手工转换
维基百科,自由的百科全书

less
Xterm中的less输出
Xterm中的less输出
开发者Mark Nudelman
首次发布1984年,​40年前​(1984[1]
当前版本590(2021年7月10日,​3年前​(2021-07-10
预览版本590(2021年6月3日,​3年前​(2021-06-03
源代码库github.com/gwsw/less
编程语言C
操作系统跨平台
类型系统软件
许可协议双重授权GNU GPLv3与自定义的BSD风格授权条款
网站www.greenwoodsoftware.com/less/
www.gnu.org/software/less/

lessUNIXMicrosoft Windows类Unix系统上的终端标签页查看程序,用来一次用整个屏幕显示的范围展示(但不能编辑)文本文件的内容。其与more类似,但可以向前或向后浏览文件的延伸功能。与大多数的Unix文本编辑器或查看程序不同,less在启动时不会一次读取整个文件,如此可以加快大文件的加载速度。

历史

[编辑]

Mark Nudelman最初在1983至1985年间编写了less,当时是因为需要可以向后滚动显示文字的more。原本less是为Unix开发的,但是其已被移植到其他许多操作系统,其中包含了MS-DOSMicrosoft WindowsOS/2OS-9英语OS-9,以及如Linux等的类Unix系统[2]。Nudelman至今仍在维护它。

为了协助记住lessmore的不同,有个常见的笑话是"less > more",代表了less的功能比more更多。类似的说法是"less is more, more or less"(“少即是多,或多或少”)。

用法

[编辑]

可以传递选项给less以改变其行为,例如要在屏幕上显示的行数。部分选项可能会因操作系统而异。在less显示文件时,也可以使用多种指令来浏览文件。这些指令是以morevi使用的指令为基础。并可在文件中搜索符合的字符模式。

默认情况下,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 > 最后ㄧ行
nG 跳到第n
/text 向前搜索text。文字会被视为正则表达式
?text 如同/,但为向后搜索。
n 下一个符合的搜索结果
N 上一个符合的搜索结果
Escu 关闭符合突显(请见-g命令行选项)
-c 切换选项c,例如-i会切换是否要在搜索时忽略大小写
mc 设置标记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"

参见

[编辑]

参考资料

[编辑]
  1. ^ Mark Nudelman. less, a paginator. 1985-06-02 [2021-07-17]. (原始内容存档于2021-07-17). 
  2. ^ Less FAQ. [2021-07-17]. (原始内容存档于2021-05-07). 

外部链接

[编辑]