less (Unix)

维基百科,自由的百科全书
跳转到导航 跳转到搜索

less
Xterm中的less输出
Xterm中的less输出
开发者Mark Nudelman
首次发布1984年,​42年前​(1984[1]
当前版本590(2021年7月10日,​4年前​(2021-07-10
预览版本590(2021年6月3日,​5年前​(2021-06-03
源代码库github.com/gwsw/less
编程语言C
引擎
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    操作系统跨平台
    类型系统软件
    许可协议双重授权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). 

    外部链接[编辑]