每天一个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、查看文件
[[email protected] log]# less  boot.log
2、查看命令历史使用记录并通过less分页显示
[[email protected] ~]# 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 之档案内容,如有连续两行以上空白行则以一行空白行显示。
[[email protected] study]# less -s test.log
2016
2017

2018前面有两空行
4、less进行中执行命令!ifconfig

[[email protected] ~]# 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 打开另一个文件。
[[email protected] 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:  浏览多个文件

[[email protected] 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

[[email protected] 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退出。

[[email protected] ~]# less  log.txt

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

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

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

[[email protected] ~]# 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)
时间: 2024-10-15 19:13:22

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

linux每日命令(13): more命令

阅读目录(Content) 一.命令格式: 二.命令功能: 三.命令参数: 四.常用操作命令: 五. 使用实例 1. 从第3行起显示log1文件中的内容 2.从文件中查找第一个出现"五"字符串的行,并从该处前两行开始显示输出 3.设定每屏显示2行 4. 列一个目录下的文件,由于内容太多,我们应该学会用more来分页显示.这得和管道 | 结合起来 more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上. more会以一页一页的显示方便使用者逐页阅读,而最基本的指

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

http://www.importnew.com/12425.html     http://www.importnew.com/13107.html http://www.importnew.com/12649.html             http://www.importnew.com/12773.html shell 学习必看:http://www.kuqin.com/shuoit/20150421/345801.html 1. ls命令 ls命令是列出目录内容(List Direc

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

版权声明更新:2017-05-17博主:LuckyAlan联系:[email protected]声明:吃水不忘挖井人,转载请注明出处! 1 文章介绍 本文介绍了Linux下面的mv命令. 2.开发平台 Linux系统 3.阅读须知 无 4 文章正文 5 参考资料 1.本文概念部分参考了维基百科 [未完待续]

【转】每天一个linux命令(39):grep 命令

原文网址:http://www.cnblogs.com/peida/archive/2012/12/17/2821195.html Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户. grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板.如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名.搜索的

【转】每天一个linux命令(44):top命令

原文网址:http://www.cnblogs.com/peida/archive/2012/12/24/2831353.html top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法.top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列

每天一个linux命令12之top

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法.top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最"敏感"的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序:而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中

【转载】每天一个Linux命令

每天一个linux命令(1)  : ls 命令 每天一个linux命令(2)  : cd 命令 每天一个linux命令(3)  : pwd 命令 每天一个linux命令(4)  : mkdir 命令 每天一个linux命令(5)  : rm 命令 每天一个linux命令(6)  : rmdir 命令 每天一个linux命令(7)  : mv 命令 每天一个linux命令(8)  : cp 命令 每天一个linux命令(9)  : touch 命令 每天一个linux命令(10): cat 命令

每天一个Linux命令(19)find命令_初识

Linux下find命令在目录结构中搜索文件,并执行指定的操作.     (1)用法: 用法: find pathname    -option      [-print | -exec | -ok]      find 路径名           选项参数    [-print | -exec | -ok]     (2)功能: 功能:用于在文件树种查找文件,并作出相应的处理.     (3)命令参数: 1) pathname: find命令所查找的目录路径.例如用.来表示当前目录,用/来表示

每天一个linux命令目录(转)

转载: http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每天一个linux命令.学习的主要参考资料为: 1.<鸟哥的linux私房菜> 2.http://codingstandards.iteye.com/blog/786653 3.linux命令五分钟系列 4.其他互联网资料,google,baidu等搜索引擎 一. 文件目录操作命令: 1.每天一个

每天一个linux命令(54):ping命令

Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着”.不能打开网页时会说“你先ping网关地址192.168.1.1试试”.它通过发送ICMP ECHO_REQUEST数据包到网络主机(send ICMP ECHO_REQUEST to network hosts),并显示响应情况,这样我们就可以根据它输出的信息来确定目标主机是否可访问(但这不是绝对的).有些服务器为了防止通过ping探测到,通过防火墙设置了禁止ping