1、命令简介

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

2、用法

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

3、选项

  1. ---------------------------------------------------------------------------
  2.  
  3. OPTIONS
  4.  
  5. Most options may be changed either on the command line,
  6. or from within less by using the - or -- command.
  7. Options may be given in one of two forms: either a single
  8. character preceded by a -, or a name preceeded by --.
  9.  
  10. -? ........ --help 显示帮助
  11. -a ........ --search-skip-screen
  12. Forward search skips current screen.
  13. -b [N] .... --buffers=[N]
  14. Number of buffers. 设置缓冲区的大小
  15. -B ........ --auto-buffers
  16. Don't automatically allocate buffers for pipes.
  17. -c -C .... --clear-screen --CLEAR-SCREEN
  18. Repaint by clearing rather than scrolling. 先清除屏幕后再显示内容
  1. -d ........ --dumb
  2. Dumb terminal.
  3. -D [xn.n] . --color=xn.n
  4. Set screen colors. (MS-DOS only)
  5. -e -E .... --quit-at-eof --QUIT-AT-EOF
  6. Quit at end of file. 当文件显示结束后,自动离开
  7. -f ........ --force
  8. Force open non-regular files.强迫打开特殊文件,例如外围设备代号、目录和二进制文件
  9. -F ........ --quit-if-one-screen
  10. Quit if entire file fits on first screen.
  11. -g ........ --hilite-search
  12. Highlight only last match for searches.不加亮显示搜索到的所有关键词,仅显示当前显示的关键字,以提高显示速度;
      -........  --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.
    -........  --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.
      --....  --quiet  --QUIET  --silent --SILENT
                      Quiet the terminal bell.
      --....  --raw-control-chars  --RAW-CONTROL-CHARS
                      Output "raw" control characters.
      -........  --squeeze-blank-lines
                      Squeeze multiple blank lines. 显示连续空行为一行
      -........  --chop-long-lines
                      Chop long lines.
      -t [tag]  ..  --tag=[tag]
                      Find a tag.
      -T [tagsfile] --tag-file=[tagsfile]
                      Use an alternate tags file.
      --....  --underline-special  --UNDERLINE-SPECIAL
                      Change handling of backspaces.
      -........  --version
                      Display the version number of "less".
      -........  --hilite-unread
                      Highlight first new line after forward-screen.
      -........  --HILITE-UNREAD
                      Highlight first new line after any forward movement.
      -x [N[,...]]  --tabs=[N[,...]]
                      Set tab stops.
      -........  --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
  1. ---------------------------------------------------------------------------
  2.  
  3. MOVING
  4.  
  5. e ^E j ^N CR * Forward one line (or N lines). 下移一行
  6. y ^Y k ^K ^P * Backward one line (or N lines). 上移一行
  7. f ^F ^V SPACE * Forward one window (or N lines). 下移一屏
  8. b ^B ESC-v * Backward one window (or N lines). 回退一屏
  9. z * Forward one window (and set window to N).下移一屏
  10. w * Backward one window (and set window to N).回退一屏
  1. ESC-SPACE * Forward one window, but don't stop at end-of-file.下移一屏
  2. d ^D * Forward one half-window (and set half-window to N). 下移半屏
  3. u ^U * Backward one half-window (and set half-window to N). 回退半屏
  4. ESC-) RightArrow * Left one half screen width (or N positions).
  5. ESC-( LeftArrow * Right one half screen width (or N positions).
  6. F Forward forever; like "tail -f".
  7. r ^R ^L Repaint screen.
  8. R Repaint screen, discarding buffered input.
  9. ---------------------------------------------------
  10. Default "window" is the screen height.
  11. Default "half-window" is half of the screen height.
  12. ---------------------------------------------------------------------------
2 SEARCHING
  1. ---------------------------------------------------------------------------
  2.  
  3. SEARCHING
  4.  
  5. /pattern * Search forward for (N-th) matching line. 使用一个模式进行搜索,并定位到下一个匹配的文本
  6. ?pattern * Search backward for (N-th) matching line. ? 使用模式进行搜索,并定位到前一个匹配的文本
  1. n * Repeat previous search (for N-th occurrence).查找下一个匹配的文本
  2. N * Repeat previous search in reverse direction. 查找上一个匹配的文本
  3. ESC-n * Repeat previous search, spanning files.
  4. ESC-N * Repeat previous search, reverse dir. & spanning files.
  5. ESC-u Undo (toggle) search highlighting.
  6. &pattern * Display only matching lines
  7. ---------------------------------------------------
  8. Search patterns may be modified by one or more of:
  9. ^N or ! Search for NON-matching lines.
  10. ^E or * Search multiple files (pass thru END OF FILE).
  11. ^F or @ Start search at FIRST file (for /) or last file (for ?).
  12. ^K Highlight matches, but don't move (KEEP position).
  13. ^R Don't use REGULAR EXPRESSIONS.
  14. ---------------------------------------------------------------------------
3、JUMPING
  1. ---------------------------------------------------------------------------
  2.  
  3. JUMPING
  4.  
  5. g < ESC-< * Go to first line in file (or line N). 跳到第一行
  1. G > ESC-> * Go to last line in file (or line N). 调到最后一行
  2. p % * Go to beginning of file (or N percent into file).
  3. t * Go to the (N-th) next tag.
  4. T * Go to the (N-th) previous tag.
  5. { ( [ * Find close bracket } ) ].
  6. } ) ] * Find open bracket { ( [.
  7. ESC-^F <c1> <c2> * Find close bracket <c2>.
  8. ESC-^B <c1> <c2> * Find open bracket <c1>
  9. ---------------------------------------------------
  10. Each "find close bracket" command goes forward to the close bracket
  11. matching the (N-th) open bracket in the top line.
  12. Each "find open bracket" command goes backward to the open bracket
  13. matching the (N-th) close bracket in the bottom line.
  14.  
  15. m<letter> Mark the current position with <letter>.
  16. '<letter> Go to a previously marked position.
  17. '' Go to the previous position.
  18. ^X^X Same as '.
  19. ---------------------------------------------------
  20. A mark is any upper-case or lower-case letter.
  21. Certain marks are predefined:
  22. ^ means beginning of the file
  23. $ means end of the file
  24. ---------------------------------------------------------------------------
4、CHANGING FILES
  1. ---------------------------------------------------------------------------
  2.  
  3. CHANGING FILES
  4.  
  5. :e [file] Examine a new file.进入编辑模式,使用配置的编辑器编辑当前文件
  6. ^X^V Same as :e.
  7. :n * Examine the (N-th) next file from the command line. 浏览下一个文件
  8. :p * Examine the (N-th) previous file from the command line. 浏览前一个文件
  9. :x * Examine the first (or N-th) file from the command line.
  10. :d Delete the current file from the command line list.
  11. = ^G :f Print current file name.
  12. ---------------------------------------------------------------------------
5、MISCELLANEOUS COMMANDS
  1. ---------------------------------------------------------------------------
  2.  
  3. MISCELLANEOUS COMMANDS
  4.  
  5. -<flag> Toggle a command line option [see OPTIONS below].
  6. --<name> Toggle a command line option, by name.
  7. _<flag> Display the setting of a command line option.
  8. __<name> Display the setting of an option, by name.
  9. +cmd Execute the less cmd each time a new file is examined.
  10.  
  11. !command Execute the shell command with $SHELL. 执行命令
  12. |Xcommand Pipe file between current pos & mark X to shell command.
  13. v Edit the current file with $VISUAL or $EDITOR.
  14. V Print version number of "less".
  15. ---------------------------------------------------------------------------
6、LINE EDITING
  1. ---------------------------------------------------------------------------
  2.  
  3. LINE EDITING
  4.  
  5. These keys can be used to edit text being entered
  6. on the "command line" at the bottom of the screen.
  7.  
  8. RightArrow ESC-l Move cursor right one character.
  9. LeftArrow ESC-h Move cursor left one character.
  10. CNTL-RightArrow ESC-RightArrow ESC-w Move cursor right one word.
  11. CNTL-LeftArrow ESC-LeftArrow ESC-b Move cursor left one word.
  12. HOME ESC-0 Move cursor to start of line.
  13. END ESC-$ Move cursor to end of line.
  14. BACKSPACE Delete char to left of cursor.
  15. DELETE ESC-x Delete char under cursor.
  16. CNTL-BACKSPACE ESC-BACKSPACE Delete word to left of cursor.
  17. CNTL-DELETE ESC-DELETE ESC-X Delete word under cursor.
  18. CNTL-U ESC (MS-DOS only) Delete entire line.
  19. UpArrow ESC-k Retrieve previous command line.
  20. DownArrow ESC-j Retrieve next command line.
  21. TAB Complete filename & cycle.
  22. SHIFT-TAB ESC-TAB Complete filename & reverse cycle.
  23. CNTL-L Complete filename, list all.
  24. ---------------------------------------------------------------------------

5、示例

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

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

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

/Hostname=Zabbix server

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

  1. ...skipping
  2. # Hostname=
  3.  
  4. Hostname=Zabbix server
  5.  
  6. ### Option: HostnameItem
  7. # Item used for generating Hostname if it is undefined. Ignored if Hostname is defined.
  8. # Does not support UserParameters or aliases.
6:浏览多个文件
正在浏览一个文件时,使用 :e 打开另一个文件。
  1. [root@zabbix zabbix]# less zabbix_server.log
  1. 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)
  2. 30473:20160419:223818.547 active check configuration update from [127.0.0.1:10051] is working again
  3. 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)
  4. 30473:20160423:153119.727 active check configuration update from [127.0.0.1:10051] is working again
  5. Examine: zabbix_agentd.log

7:  浏览多个文件

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

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

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

file 2 of 2) (END)

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

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

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

  1. [root@oracledb ~]#

less

  1. log.txt

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

  1. 2014
  2. 2015
  3. 2016
  4. 2017
  5. Waiting

for data... (interrupt to abort)

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

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

less 动态输出新增的内容

  1. 2014
  2. 2015
  3. 2016
  4. 2017
  5. 2018
  6. Waiting for data... (interrupt to abort)

ctrl+c 退出

  1. 2014
  2. 2015
  3. 2016
  4. 2017
  5. 2018
  6. Line numbers turned off (press RETURN)

每天一个linux命令(13):less命令的更多相关文章

  1. linux常用命令(13)tail命令

    tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新, ...

  2. Linux经常使用的命令(必看)

    http://www.importnew.com/12425.html     http://www.importnew.com/13107.html http://www.importnew.com ...

  3. 每天一个Linux命令(13):apt命令

    apt-get和apt-cache命令是Debian Linux发行版中的APT软件包管理工具.所有基于Debian的发行都使用这个包管理系统.deb包可以把一个应用的文件包在一起,大体就如同Wind ...

  4. 每天一个linux命令:more(13)

    more more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作.more名单中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻 ...

  5. 每天一个linux命令(13):more命令

    版权声明更新:2017-05-17博主:LuckyAlan联系:liuwenvip163@163.com声明:吃水不忘挖井人,转载请注明出处! 1 文章介绍 本文介绍了Linux下面的mv命令. 2. ...

  6. 【每天一个Linux命令】13. Linux中whereis命令的用法

      命令用途 whereis命令用来查找命令的位置,包括执行文件.源代码和手册页文件 命令用法 1. 查找指定命令<command>的位置,包括执行文件.源代码和手册页文件 格式:wher ...

  7. 每天一个 Linux 命令(21):find命令之xargs

    在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出 ...

  8. 每天一个linux命令(46):vmstat命令

    vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存.进程.CPU活动进行监控.他是对系统的整体情况进行统计,不足之处是无法对某个进程进行深 ...

  9. 每天一个linux命令目录

    出处:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每 ...

随机推荐

  1. day6 note 字典的增删改查(以及setdefault用法补充)

    今天的内容主要是join的用法和字典的用法,由于已经有前面的列表作为基础,所以还比较简单,不过因为昨天的作业比较难也比较多,所以作业的讲解占用的时间比较长.我需要好好消化一下作业的部分. 思维导图: ...

  2. 异常java.lang.IllegalArgumentException:attempt to create delete event with null entity

    异常java.lang.IllegalArgumentException:attempt to create delete event with null entity解决:路径问题,前台jsp和ja ...

  3. Nginx配置以及域名转发

    工程中的nginx配置 #user nobody; worker_processes 24; error_log /home/xxx/opt/nginx/logs/error.log; pid /ho ...

  4. 记录初学者学习Hive时踩过的坑

    1. 缺少MySQL驱动包 1.1 问题描述 Caused by: org.datanucleus.store.rdbms.connectionpool.DatastoreDriverNotFound ...

  5. vue 工作学习总结

    配置ESlint yarn 初始化 yarn init yes 添加依赖 yarn add [package] 升级依赖 yarn upgrade [package] 移出依赖 yarn remove ...

  6. 利用cookie实现iframe刷新时停留在当前页面

    这段时间第一次用iframe,发现问题还挺多,这次主要解决了一个用cookie实现iframe刷新时停留在当前页面,具体步骤如下: 1.必须在每一个页面中记录下当前的url并存入cookie中,具体代 ...

  7. java 日期递增

    public static void main(String[] args) throws ParseException { // 方法一 // Format f = new SimpleDateFo ...

  8. python网络编程(六)

    tcp通信模型 tcp服务器 在程序中,如果想要完成一个tcp服务器的功能,需要的流程如下: socket创建一个套接字 bind绑定ip和port listen使套接字变为可以被动链接 accept ...

  9. 安装django及配置

    安装 diango官网下载地址 https://www.djangoproject.com/download/ 安装最新的LTS版本 pip安装(在windows的crm中或pycharm中的Term ...

  10. Cocos Creator存储和读取用户数据--官方文档

    存储数据 cc.sys.localStorage.setItem(key, value) 上面的方法需要两个参数,用来索引的字符串键值 key,和要保存的字符串数据 value. 假如我们要保存玩家最 ...