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