每天一个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)
每天一个linux命令(13):less命令的更多相关文章
- linux常用命令(13)tail命令
tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新, ...
- Linux经常使用的命令(必看)
http://www.importnew.com/12425.html http://www.importnew.com/13107.html http://www.importnew.com ...
- 每天一个Linux命令(13):apt命令
apt-get和apt-cache命令是Debian Linux发行版中的APT软件包管理工具.所有基于Debian的发行都使用这个包管理系统.deb包可以把一个应用的文件包在一起,大体就如同Wind ...
- 每天一个linux命令:more(13)
more more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作.more名单中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻 ...
- 每天一个linux命令(13):more命令
版权声明更新:2017-05-17博主:LuckyAlan联系:liuwenvip163@163.com声明:吃水不忘挖井人,转载请注明出处! 1 文章介绍 本文介绍了Linux下面的mv命令. 2. ...
- 【每天一个Linux命令】13. Linux中whereis命令的用法
命令用途 whereis命令用来查找命令的位置,包括执行文件.源代码和手册页文件 命令用法 1. 查找指定命令<command>的位置,包括执行文件.源代码和手册页文件 格式:wher ...
- 每天一个 Linux 命令(21):find命令之xargs
在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出 ...
- 每天一个linux命令(46):vmstat命令
vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存.进程.CPU活动进行监控.他是对系统的整体情况进行统计,不足之处是无法对某个进程进行深 ...
- 每天一个linux命令目录
出处:http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html 开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每 ...
随机推荐
- day6 note 字典的增删改查(以及setdefault用法补充)
今天的内容主要是join的用法和字典的用法,由于已经有前面的列表作为基础,所以还比较简单,不过因为昨天的作业比较难也比较多,所以作业的讲解占用的时间比较长.我需要好好消化一下作业的部分. 思维导图: ...
- 异常java.lang.IllegalArgumentException:attempt to create delete event with null entity
异常java.lang.IllegalArgumentException:attempt to create delete event with null entity解决:路径问题,前台jsp和ja ...
- Nginx配置以及域名转发
工程中的nginx配置 #user nobody; worker_processes 24; error_log /home/xxx/opt/nginx/logs/error.log; pid /ho ...
- 记录初学者学习Hive时踩过的坑
1. 缺少MySQL驱动包 1.1 问题描述 Caused by: org.datanucleus.store.rdbms.connectionpool.DatastoreDriverNotFound ...
- vue 工作学习总结
配置ESlint yarn 初始化 yarn init yes 添加依赖 yarn add [package] 升级依赖 yarn upgrade [package] 移出依赖 yarn remove ...
- 利用cookie实现iframe刷新时停留在当前页面
这段时间第一次用iframe,发现问题还挺多,这次主要解决了一个用cookie实现iframe刷新时停留在当前页面,具体步骤如下: 1.必须在每一个页面中记录下当前的url并存入cookie中,具体代 ...
- java 日期递增
public static void main(String[] args) throws ParseException { // 方法一 // Format f = new SimpleDateFo ...
- python网络编程(六)
tcp通信模型 tcp服务器 在程序中,如果想要完成一个tcp服务器的功能,需要的流程如下: socket创建一个套接字 bind绑定ip和port listen使套接字变为可以被动链接 accept ...
- 安装django及配置
安装 diango官网下载地址 https://www.djangoproject.com/download/ 安装最新的LTS版本 pip安装(在windows的crm中或pycharm中的Term ...
- Cocos Creator存储和读取用户数据--官方文档
存储数据 cc.sys.localStorage.setItem(key, value) 上面的方法需要两个参数,用来索引的字符串键值 key,和要保存的字符串数据 value. 假如我们要保存玩家最 ...