zoukankan      html  css  js  c++  java
  • 每天一个linux命令(13):less命令

    1、命令简介

    less(less)  命令可以对文件或其它输出进行分页显示,与moe命令相似,但是比more命令要强大许多。应该说是linux正统查看文件内容的工具。

    2、用法

    less  [选项]... [文件]...

    3、选项

    ---------------------------------------------------------------------------
    
                               OPTIONS
    
            Most options may be changed either on the command line,
            or from within less by using the - or -- command.
            Options may be given in one of two forms: either a single
            character preceded by a -, or a name preceeded by --.
    
      -?  ........  --help   显示帮助
      -a  ........  --search-skip-screen
                      Forward search skips current screen.
      -b [N]  ....  --buffers=[N]
                      Number of buffers.  设置缓冲区的大小
      -B  ........  --auto-buffers
                      Don't automatically allocate buffers for pipes.
      -c  -C  ....  --clear-screen --CLEAR-SCREEN
                      Repaint by clearing rather than scrolling.  先清除屏幕后再显示内容
    
      -d  ........  --dumb
                      Dumb terminal.
      -D [xn.n]  .  --color=xn.n
                      Set screen colors. (MS-DOS only)
      -e  -E  ....  --quit-at-eof  --QUIT-AT-EOF
                      Quit at end of file.  当文件显示结束后,自动离开
      -f  ........  --force
                      Force open non-regular files.强迫打开特殊文件,例如外围设备代号、目录和二进制文件
      -F  ........  --quit-if-one-screen
                      Quit if entire file fits on first screen.
      -g  ........  --hilite-search
                      Highlight only last match for searches.不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度;
      -G  ........  --HILITE-SEARCH
                      Don't highlight any matches for searches.
      -h [N]  ....  --max-back-scroll=[N]
                      Backward scroll limit.
      -i  ........  --ignore-case
                      Ignore case in searches that do not contain uppercase. 忽略搜索时的大小写
      -I  ........  --IGNORE-CASE
                      Ignore case in all searches.
      -j [N]  ....  --jump-target=[N]
                      Screen position of target lines.
      -J  ........  --status-column
                      Display a status column at left edge of screen.
      -k [file]  .  --lesskey-file=[file]
                      Use a lesskey file.
      -L  ........  --no-lessopen
                      Ignore the LESSOPEN environment variable.
    -m  -M  ....  --long-prompt  --LONG-PROMPT
                      Set prompt style.  显示类似more命令的百分比

      -n  ........  --line-numbers
                      Don't use line numbers.
    -N  ........  --LINE-NUMBERS
                      Use line numbers.   显示每行的行号

    -o [file]  .  --log-file=[file]
                      Copy to log file (standard input only). 将less 输出的内容在指定文件中保存起来

      -O [file]  .  --LOG-FILE=[file]
                      Copy to log file (unconditionally overwrite).
      -p [pattern]  --pattern=[pattern]
                      Start at pattern (from command line).
      -P [prompt]   --prompt=[prompt]
                      Define new prompt.
      -q  -Q  ....  --quiet  --QUIET  --silent --SILENT
                      Quiet the terminal bell.
      -r  -R  ....  --raw-control-chars  --RAW-CONTROL-CHARS
                      Output "raw" control characters.
      -s  ........  --squeeze-blank-lines
                      Squeeze multiple blank lines. 显示连续空行为一行
      -S  ........  --chop-long-lines
                      Chop long lines.
      -t [tag]  ..  --tag=[tag]
                      Find a tag.
      -T [tagsfile] --tag-file=[tagsfile]
                      Use an alternate tags file.
      -u  -U  ....  --underline-special  --UNDERLINE-SPECIAL
                      Change handling of backspaces.
      -V  ........  --version
                      Display the version number of "less".
      -w  ........  --hilite-unread
                      Highlight first new line after forward-screen.
      -W  ........  --HILITE-UNREAD
                      Highlight first new line after any forward movement.
      -x [N[,...]]  --tabs=[N[,...]]
                      Set tab stops.
      -X  ........  --no-init
                      Don't use termcap init/deinit strings.
                    --no-keypad
                      Don't use termcap keypad init/deinit strings.
      -y [N]  ....  --max-forw-scroll=[N]
                      Forward scroll limit.
      -z [N]  ....  --window=[N]
                      Set size of window.
      -" [c[c]]  .  --quotes=[c[c]]
                      Set shell quote characters.
      -~  ........  --tilde
                      Don't display tildes after end of file.
      -# [N]  ....  --shift=[N]
                      Horizontal scroll amount (0 = one half screen width)

    ---------------------------------------------------------------------------

    4、支持的操作

    1、MOVING
    ---------------------------------------------------------------------------
    
                               MOVING
    
      e  ^E  j  ^N  CR  *  Forward  one line   (or N lines). 下移一行
      y  ^Y  k  ^K  ^P  *  Backward one line   (or N lines). 上移一行
      f  ^F  ^V  SPACE  *  Forward  one window (or N lines). 下移一屏
      b  ^B  ESC-v      *  Backward one window (or N lines).  回退一屏
      z                 *  Forward  one window (and set window to N).下移一屏 
      w                 *  Backward one window (and set window to N).回退一屏  
      ESC-SPACE         *  Forward  one window, but don't stop at end-of-file.下移一屏
      d  ^D             *  Forward  one half-window (and set half-window to N). 下移半屏
      u  ^U             *  Backward one half-window (and set half-window to N).  回退半屏
      ESC-)  RightArrow *  Left  one half screen width (or N positions).           
      ESC-(  LeftArrow  *  Right one half screen width (or N positions).
      F                    Forward forever; like "tail -f".
      r  ^R  ^L            Repaint screen.
      R                    Repaint screen, discarding buffered input.
            ---------------------------------------------------
            Default "window" is the screen height.
            Default "half-window" is half of the screen height.
     ---------------------------------------------------------------------------
    2 SEARCHING
    ---------------------------------------------------------------------------
    
                              SEARCHING
    
      /pattern          *  Search forward for (N-th) matching line. 使用一个模式进行搜索,并定位到下一个匹配的文本
      ?pattern          *  Search backward for (N-th) matching line. ? : 使用模式进行搜索,并定位到前一个匹配的文本
      n                 *  Repeat previous search (for N-th occurrence).查找下一个匹配的文本
      N                 *  Repeat previous search in reverse direction. 查找上一个匹配的文本
      ESC-n             *  Repeat previous search, spanning files.
      ESC-N             *  Repeat previous search, reverse dir. & spanning files.
      ESC-u                Undo (toggle) search highlighting.
      &pattern          *  Display only matching lines
            ---------------------------------------------------
            Search patterns may be modified by one or more of:
            ^N or !  Search for NON-matching lines.
            ^E or *  Search multiple files (pass thru END OF FILE).
            ^F or @  Start search at FIRST file (for /) or last file (for ?).
            ^K       Highlight matches, but don't move (KEEP position).
            ^R       Don't use REGULAR EXPRESSIONS.
     ---------------------------------------------------------------------------
    3、JUMPING
    ---------------------------------------------------------------------------
    
                               JUMPING
    
      g  < ESC-<        * Go to first line in file (or line N). 跳到第一行 
      G >  ESC->        *  Go to last line in file (or line N).  调到最后一行
      p  %              *  Go to beginning of file (or N percent into file).
      t                 *  Go to the (N-th) next tag.
      T                 *  Go to the (N-th) previous tag.
      {  (  [           *  Find close bracket } ) ].
      }  )  ]           *  Find open bracket { ( [.
      ESC-^F <c1> <c2>  *  Find close bracket <c2>.
      ESC-^B <c1> <c2>  *  Find open bracket <c1> 
            ---------------------------------------------------
            Each "find close bracket" command goes forward to the close bracket 
              matching the (N-th) open bracket in the top line.
            Each "find open bracket" command goes backward to the open bracket 
              matching the (N-th) close bracket in the bottom line.
    
      m<letter>            Mark the current position with <letter>.
      '<letter>            Go to a previously marked position.
      ''                   Go to the previous position.
      ^X^X                 Same as '.
            ---------------------------------------------------
            A mark is any upper-case or lower-case letter.
            Certain marks are predefined:
                 ^  means  beginning of the file
                 $  means  end of the file
     ---------------------------------------------------------------------------
    4、CHANGING FILES
    ---------------------------------------------------------------------------
    
                            CHANGING FILES
    
      :e [file]            Examine a new file.进入编辑模式,使用配置的编辑器编辑当前文件 
      ^X^V                 Same as :e.
      :n                *  Examine the (N-th) next file from the command line. 浏览下一个文件
      :p                *  Examine the (N-th) previous file from the command line. 浏览前一个文件 
      :x                *  Examine the first (or N-th) file from the command line.
      :d                   Delete the current file from the command line list.
      =  ^G  :f            Print current file name.
     ---------------------------------------------------------------------------
    5、MISCELLANEOUS COMMANDS
    ---------------------------------------------------------------------------
    
                        MISCELLANEOUS COMMANDS
    
      -<flag>              Toggle a command line option [see OPTIONS below].
      --<name>             Toggle a command line option, by name.
      _<flag>              Display the setting of a command line option.
      __<name>             Display the setting of an option, by name.
      +cmd                 Execute the less cmd each time a new file is examined.
    
      !command             Execute the shell command with $SHELL. 执行命令
      |Xcommand            Pipe file between current pos & mark X to shell command.
      v                    Edit the current file with $VISUAL or $EDITOR.
      V                    Print version number of "less".
     ---------------------------------------------------------------------------
    6、LINE EDITING
    ---------------------------------------------------------------------------
    
                              LINE EDITING
    
            These keys can be used to edit text being entered 
            on the "command line" at the bottom of the screen.
    
     RightArrow                       ESC-l     Move cursor right one character.
     LeftArrow                        ESC-h     Move cursor left one character.
     CNTL-RightArrow  ESC-RightArrow  ESC-w     Move cursor right one word.
     CNTL-LeftArrow   ESC-LeftArrow   ESC-b     Move cursor left one word.
     HOME                             ESC-0     Move cursor to start of line.
     END                              ESC-$     Move cursor to end of line.
     BACKSPACE                                  Delete char to left of cursor.
     DELETE                           ESC-x     Delete char under cursor.
     CNTL-BACKSPACE   ESC-BACKSPACE             Delete word to left of cursor.
     CNTL-DELETE      ESC-DELETE      ESC-X     Delete word under cursor.
     CNTL-U           ESC (MS-DOS only)         Delete entire line.
     UpArrow                          ESC-k     Retrieve previous command line.
     DownArrow                        ESC-j     Retrieve next command line.
     TAB                                        Complete filename & cycle.
     SHIFT-TAB                        ESC-TAB   Complete filename & reverse cycle.
     CNTL-L                                     Complete filename, list all.
    ---------------------------------------------------------------------------

    5、示例

    1、查看文件
    [root@oracledb log]# less  boot.log
    2、查看命令历史使用记录并通过less分页显示
    [root@oracledb ~]# history|less
    
    
    
    
        1  yum update
        2  vi /etc/sysconfig/network
        3  vi /etc/sysconfig/network-scripts/ifcfg-eth0 
        4  service network restart
        5  ipconfig
        6  ifconfig
        7  clear
        8  yum update
        9  clear
       10  yum update
    3、less -s file 逐页显示 testfile 之档案内容,如有连续两行以上空白行则以一行空白行显示。
    [root@oracledb study]# less 
     -s test.log 
    2016
    2017
    
    2018前面有两空行

    4、less进行中执行命令!ifconfig

    [root@oracledb ~]# history|less
    eth5      Link encap:Ethernet  HWaddr 08:00:27:60:11:C4  
              inet addr:172.17.22.31  Bcast:172.17.23.255  Mask:255.255.254.0
              inet6 addr: fe80::a00:27ff:fe60:11c4/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:61468 errors:0 dropped:0 overruns:0 frame:0
              TX packets:23800 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:67329469 (64.2 MiB)  TX bytes:1645628 (1.5 MiB)
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:16 errors:0 dropped:0 overruns:0 frame:0
              TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:1584 (1.5 KiB)  TX bytes:1584 (1.5 KiB)
    
    !done  (press RETURN)
    5、根据模式查找字符串,输入斜杠 /模式字符串 回车进行查找,n和N控制向上和向下查找
    # Mandatory: no
    # Range: 60-3600
    # 上面为more的显示内容
    
    /Hostname=Zabbix server

    查找出的结果在最上面显示

    ...skipping
    # Hostname=
    
    Hostname=Zabbix server
    
    ### Option: HostnameItem
    #    Item used for generating Hostname if it is undefined. Ignored if Hostname is defined.
    #    Does not support UserParameters or aliases.
    6:浏览多个文件
    正在浏览一个文件时,使用 :e 打开另一个文件。
    [root@zabbix zabbix]# less zabbix_server.log
    30473:20160419:202118.691 active check configuration update from [127.0.0.1:10051] started to fail (cannot connect to [[127.0.0.1]:10051]: [111] Connection refused)
     30473:20160419:223818.547 active check configuration update from [127.0.0.1:10051] is working again
     30473:20160423:152419.606 active check configuration update from [127.0.0.1:10051] started to fail (cannot connect to [[127.0.0.1]:10051]: [111] Connection refused)
     30473:20160423:153119.727 active check configuration update from [127.0.0.1:10051] is working again
    Examine: zabbix_agentd.log

    7:  浏览多个文件

    [root@zabbix zabbix]# less zabbix_server.log zabbix_agentd.log
     20911:20160417:041935.968 slow query: 3.220461 sec, "commit;"
     20913:20160417:041935.982 slow query: 3.092948 sec, "commit;"
    zabbix_server.log (file 1 of 2)

    输入:n后,切换到zabbix_agentd.log

    [root@zabbix zabbix]# less zabbix_server.log zabbix_agentd.log 
    30473:20160419:223818.547 active check configuration update from [127.0.0.1:10051] is working again
    30473:20160423:153119.727 active check configuration update from [127.0.0.1:10051] is working again
    
    
    zabbix_agentd.log (
    file 2 of 2) (END)

    输入:p 后,切换到zabbix_server.log

    8 less 版 tail –f  动态查看日志文件

    使用 less file-name 打开日志文件,按 F 可以实现类似 tail -f 的效果。按ctrl+c退出。

    [root@oracledb ~]# 
    less
      log.txt

    按F,出现 Waiting for data... (interrupt to abort)

    2014
    2015
    2016
    2017
    Waiting 
    for data... (interrupt to abort)

    在另一个窗口更改文件内容

    [root@oracledb ~]# echo "2018" >> log.txt

    less 动态输出新增的内容

    2014
    2015
    2016
    2017
    2018
    Waiting for data... (interrupt to abort)

    ctrl+c 退出

    2014
    2015
    2016
    2017
    2018
    Line numbers turned off  (press RETURN)
  • 相关阅读:
    某个牛人做WINDOWS系统文件详解
    常用ASP脚本程序集锦
    LINUX基础:文件安全与权限
    proftpd+mysql+quota
    apache2.0.49tomcat5.0.19jk2建立virtualHost
    URL Redirection(转) Anny
    顶级域名后缀列表(转) Anny
    \u4E00\u9FA5意义 Anny
    How to POST Form Data Using Ruby(转) Anny
    How to get rid of 'Enter password to unlock your login keyring' in Ubuntu(转) Anny
  • 原文地址:https://www.cnblogs.com/xqzt/p/5424866.html
Copyright © 2011-2022 走看看