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). 

    外部链接[编辑]