• 命令:less


    与more的区别

    more在man手册中的英文原文是文件熟读过滤器(file perusal filter),其实可以理解为一种文本查看器。
    它存在一些缺点:

    • 必须事先加载完整个文件。因此在遇到大文件的时候,需要等待。
    • 翻阅到文件尾部的时候自动退出。

    man手册也有说明more这个命令已经是比较远古的了,建议大家使用less这个提供了更多(more)功能的工具。

    This version is especially primitive.  Users should realize that less(1) provides more(1) emulation plus extensive enhancements.
    

    简介

    less命令类似于more命令,但是它支持向上翻页和向下翻页。
    另外,less在开始前不需要读取整个输入文件,所以在读取大文件的时候它启动的速度要快于文本编辑器vi的。
    由于less使用的是termcap,因此它可以运行在多种终端之上。即便是在硬拷贝(hardcopy)终端上也可以具备有限的支持。
    less中的命令是基于more和vi的。可以在部分命令之前加上一个十进制的数字,下文用N来表示。

    less内部常用命令说明

    注意:在下文描述中,^X表示Ctrl+X,Ctrl和x按键要同时按住;ESC表示ESCAPE按键;例如ESC-v表示先按ESCAPE,再按v。

    基本相关

    • h:等同于less --help,查看简要帮助,较实用。
    • q:退出帮助或者退出less查看器。

    移动相关

    • j/k:向下/上滚动1行,可带N,表示滚动N行。
    • d/u:向下/上滚动N行,默认是0.5个屏幕。如果带N了,那么N就成为后来的默认值。
    • SPACE:向下滚动N行,默认是1个屏幕。如果N超出了屏幕大小,那么仅显示最后的屏幕。
    • b:向上滚动N行,默认是1个屏幕。如果N超出了屏幕大小,那么仅显示最后的屏幕。

    注意:上述滚动屏幕的命令,可以设置翻屏的大小,叫做窗口大小,可通过-z选项设置,亦可通过z和w命令。

    跳转相关

    • g/G:带N的时候,Ng和NG都表示跳转至文件的第N行。不同的是,在不带N的默认情况下g表示首行,G表示尾行。如果文件较大且行跳跃幅度较大,那么需要等待文件加载。
    • {:如果屏幕的首行是“{”,那么该命令可以用于寻找对应的“}”,并将其显示在屏幕的底部。如果屏幕首行有多个“{”,那么“N{”表示搜索首行第N个“{”对应的“}”。“(”和“[”也是类似的用法。
    • }:如果屏幕的底行是“}”,那么该命令可以用于寻找对应的“{”,并将其显示在屏幕的首部。如果屏幕底行有多个“}”,那么“N}”表示搜索首行第N个“}”对应的“{”。“)”和“]”也是类似的用法。

    搜索相关

    • /pattern:从文件当前位置向下寻找pattern,pattern是一个正则表达式。会从当前屏幕所显示的第一行开始搜索(不过-a和-j选项会改变此特性)。当以某些字符开头的时候,会有特殊的含义。如果想表示特殊字符本身的话,可以使用反斜线“”转义。
      • ^N or !:搜索不匹配pattern的行。
      • ^E or *:搜索多个文件。搜索完当前文件未找到pattern的话,继续搜索下一个文件。
      • K:正常情况,开始搜索后,会将第一个匹配到的pattern显示到第一行。而K可以保持当前的位置不变,不将其显示到第一行,但仍然会高亮显示匹配的文本。
      • ^R:搜索纯文本,而非正则表达式。
    • ?pattern:和/pattern类似,区别在于它是从文件当前位置向上寻找pattern。其他特性和/pattern一样。
    • n/N:n表示搜索下一个,N表示搜索上一个,这里的下一个指的是pattern搜索顺序的下一个。
    • &pattern:仅显示匹配的行。
    • ESC-u:搜索高亮显示的开关。

    less命令的选项

    less -?
    less --help
    less -V
    less --version
    less [-[+]aABcCdeEfFgGiIJKLmMnNqQrRsSuUVwWX~]
    [-b space] [-h lines] [-j line] [-k keyfile]
    [-{oO} logfile] [-p pattern] [-P prompt] [-t tag]
    [-T tagsfile] [-x tab,...] [-y lines] [-[z] lines]
    [-# shift] [+[+]cmd] [--] [filename]...
    
    • --help:简要的帮助界面,很实用。
    • -[z]n or --window=n:设置屏幕窗口的大小。
    • -s or --squeeze-blank-lines:将多个连续的空白行压缩成单个,less -s即man命令所使用的查看命令。
    • -a or --search-skip-screen:默认的搜索都是从文件的当前位置,即当前屏幕开始。该选项的作用使得,向下搜索从当前屏幕底部开始,向上搜索从当前屏幕的顶部开始,即跳过了当前屏幕。
    • -jn or --jump-target=n:指定目标行,例如从第几行开始搜索。例如,如果选项是“-j4”,那么第五行就是目标行,从这一行开始搜索或者进行其他操作。
    • -i or --ignore-case:忽略大小写。不过如果在pattern中有出现大写的话,那么该选项就会失效。也就是说该选项仅对全小写的pattern搜索有效。不过我通过/pattern形式搜索测试,如果全小写的话,就可以自动忽略大小写了。
    • -I or --IGNORE-CASE:可以理解为强制忽略大小写。
  • 相关阅读:
    JavaScript 的历史
    阿里面试题:
    DBA_Oracle基本体系架构(概念)
    java内存管理机制
    HashMap的内部实现机制,Hash是怎样实现的,什么时候ReHash
    HashMap实现原理分析
    堆栈
    数据结构:HDU 2993 MAX Average Problem
    数学(欧拉函数):UVAOJ 11426 GCD
    搜索(DLX):HOJ 1017
  • 原文地址:https://www.cnblogs.com/alongdidi/p/linux_command_less.html
Copyright © 2020-2023  润新知