more命令与less命令


Linux more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。 在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按 键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

Linux more 命令与less命令

more 语法

more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

参数

  • -num 一次显示的行数
  • -d 提示使用者,在画面下方显示 [Press space to continue, ‘q’ to quit.] ,如果使用者按错键,则会显示 [Press ‘h’ for instructions.] 而不是 ‘哔’ 声
  • -l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
  • -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
  • -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
  • -c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
  • -s 当遇到有连续两行以上的空白行,就代换为一行的空白行
  • -u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
  • +/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
  • +num 从第 num 行开始显示
  • fileNames 欲显示内容的文档,可为复数个数

常用操作命令:

Enter 向下n行,需要定义。默认为1行

Ctrl+F 向下滚动一屏

空格键 向下滚动一屏

Ctrl+B 返回上一屏

= 输出当前行的行号

:f 输出文件名和当前行的行号

V 调用vi编辑器

!命令 调用Shell,并执行命令

q 退出more

more -s push_service_ws.log 逐页显示日志文件中内容,如有连续两行以上空白行则以一行空白行显示。

[push_service_ws-00 push_service]$ more -s push_service_ws.log
[] 2021-08-21 00:00:33 - [INFO] [DefaultDisconnectListener:19 onDisconnect] eefc6553-ddba-403b-be58-6d0e92543680 has disconnected
[] 2021-08-21 00:00:33 - [INFO] [SessionManagerAspect:57 doBefore] [推送服务WS][AOP] 请求参数[方法名:removeSession 参数列表:[eefc6553-ddba-403b-be
58-6d0e92543680]]
[] 2021-08-21 00:00:33 - [INFO] [SessionManagerAspect:123 removeMethodManage] [推送服务WS][AOP] REMOVE方法移除SESSION KEY [sessionId eefc6553-ddba
-403b-be58-6d0e92543680]
[] 2021-08-21 00:00:33 - [INFO] [SessionManagerAspect:124 removeMethodManage] [推送服务WS][AOP] REMOVE方法相关REDIS KEY设置完毕[sessionId eefc6553
-ddba-403b-be58-6d0e92543680]
[] 2021-08-21 00:00:33 - [INFO] [DefaultDisconnectListener:19 onDisconnect] b441923b-2146-4f00-94b3-e819b5c8b926 has disconnected
[] 2021-08-21 00:00:33 - [INFO] [SessionManagerAspect:57 doBefore] [推送服务WS][AOP] 请求参数[方法名:removeSession 参数列表:[b441923b-2146-4f00-94
b3-e819b5c8b926]]
[] 2021-08-21 00:00:33 - [INFO] [SessionManagerAspect:123 removeMethodManage] [推送服务WS][AOP] REMOVE方法移除SESSION KEY [sessionId b441923b-2146
-4f00-94b3-e819b5c8b926]

more +20 -s push_service_ws.log 从第 20 行开始显示 testfile 之文档内容

[push_service_ws-00 push_service]$ more +20 -s push_service_ws.log
[] 2021-08-21 00:04:57 - [INFO] [VerifyListener:36 onData] 8f9b7791-7b30-4ee0-9107-e9b4b8ffdc03 verify token success, token:eyJ0eXAiOiJKV1QiLCJhbG
ciOiJIUzI1NiJ9.eyJzdWIiOjYzODcwLCJpc3MiOiJjYzliZDRmNGIxOTQ0YzQwYjFmZDQ3NjhiNDA3ZDkwZCIsImV4cCI6MTYyOTQ3NTU1NywiaWF0IjoxNjI5NDc1NDk3fQ.Y4kiuRU0lOCo
t5gbZF_ckTz4JDIRgu14qPFCtNkSVG0
[] 2021-08-21 00:04:57 - [INFO] [SessionManagerAspect:57 doBefore] [推送服务WS][AOP] 请求参数[方法名:add 参数列表:[63870, 8f9b7791-7b30-4ee0-9107-
e9b4b8ffdc03]]
[] 2021-08-21 00:04:57 - [INFO] [SessionManagerAspect:92 addMethodManage] [推送服务WS][AOP] ADD方法设置REDIS相关KEY完毕 [userId 63870| sessionId 8
f9b7791-7b30-4ee0-9107-e9b4b8ffdc03]
[] 2021-08-21 00:04:57 - [INFO] [VerifyListener:36 onData] d9dca042-82bc-494c-b241-8ba1dd70b5b8 verify token success, token:eyJ0eXAiOiJKV1QiLCJhbG
ciOiJIUzI1NiJ9.eyJzdWIiOjYzODcwLCJpc3MiOiJjYzliZDRmNGIxOTQ0YzQwYjFmZDQ3NjhiNDA3ZDkwZCIsImV4cCI6MTYyOTQ3NTU1NywiaWF0IjoxNjI5NDc1NDk3fQ.Y4kiuRU0lOCo
t5gbZF_ckTz4JDIRgu14qPFCtNkSVG0

从文件中查找第一个出现”addMethodManage”字符串的行,并从该处前两行开始显示输出

[rd@线上-基础架构-车源-话务-push_service_ws-00 push_service]$ more +/addMethodManage  push_service_ws.log

...skipping
[] 2021-08-21 00:04:57 - [INFO] [VerifyListener:36 onData] 3803cbb2-e7a0-469a-b20d-1f4e1a2deb5c verify token success, token:eyJ0eXAiOiJKV1QiLCJhbG
ciOiJIUzI1NiJ9.eyJzdWIiOjYzODcwLCJpc3MiOiJjYzliZDRmNGIxOTQ0YzQwYjFmZDQ3NjhiNDA3ZDkwZCIsImlhdCI6MTYyOTQ3NTQ5N30.B9u0T0DbDOFJXHsPUtTnjEr96026UOzqaso
imuNm2Gw
[] 2021-08-21 00:04:57 - [INFO] [SessionManagerAspect:57 doBefore] [推送服务WS][AOP] 请求参数[方法名:add 参数列表:[63870, 3803cbb2-e7a0-469a-b20d-
1f4e1a2deb5c]]
[] 2021-08-21 00:04:57 - [INFO] [SessionManagerAspect:92 addMethodManage] [推送服务WS][AOP] ADD方法设置REDIS相关KEY完毕 [userId 63870| sessionId 3
803cbb2-e7a0-469a-b20d-1f4e1a2deb5c]

设定每屏显示行数

[push_service_ws-00 push_service]$ more -5 push_service_ws.log
[] 2021-08-21 00:00:33 - [INFO] [DefaultDisconnectListener:19 onDisconnect] eefc6553-ddba-403b-be58-6d0e92543680 has disconnected
[] 2021-08-21 00:00:33 - [INFO] [SessionManagerAspect:57 doBefore] [推送服务WS][AOP] 请求参数[方法名:removeSession 参数列表:[eefc6553-ddba-403b-be
58-6d0e92543680]]
[] 2021-08-21 00:00:33 - [INFO] [SessionManagerAspect:123 removeMethodManage] [推送服务WS][AOP] REMOVE方法移除SESSION KEY [sessionId eefc6553-ddba
-403b-be58-6d0e92543680]
--More--(0%)

一个目录下的文件,由于内容太多,我们应该学会用more来分页显示。这得和管道 | 结合起来

[push_service_ws-00 tmp]$ ls -l  | more -5
total 8
srwxr-xr-x 1 root root    0 Feb 12  2020 Aegis-<Guid(5A2C30A2-A87D-490A-9281-6765EDAD7CBA)>
drwxr-xr-x 2 root root 4096 Apr 13  2020 hsperfdata_root
drwxr-xr-x 2 work work 4096 Jul  8 21:14 hsperfdata_work
srwxrwxrwx 1 root root    0 May 24  2017 qtsingleapp-aegisG-46d2
--More--

less 语法

less [参数] 文件 

参数说明

  • -b <缓冲区大小> 设置缓冲区的大小
  • -e 当文件显示结束后,自动离开
  • -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
  • -g 只标志最后搜索的关键词
  • -i 忽略搜索时的大小写
  • -m 显示类似more命令的百分比
  • -N 显示每行的行号
  • -o <文件名> 将less 输出的内容在指定文件中保存起来
  • -Q 不使用警告音
  • -s 显示连续空行为一行
  • -S 行过长时间将超出部分舍弃
  • -x <数字> 将”tab”键显示为规定的数字空格
  • /字符串:向下搜索”字符串”的功能
  • ?字符串:向上搜索”字符串”的功能
  • n:重复前一个搜索(与 / 或 ? 有关)
  • N:反向重复前一个搜索(与 / 或 ? 有关)
  • b 向上翻一页
  • d 向后翻半页
  • h 显示帮助界面
  • Q 退出less 命令
  • u 向前滚动半页
  • y 向前滚动一行
  • 空格键 滚动一页
  • 回车键 滚动一行
  • [pagedown]: 向下翻动一页
  • [pageup]: 向上翻动一页

查看文件 less log2013.log

可以按大写 F,就会有类似 tail -f 的效果,读取写入文件的最新内容, 按 ctrl+C 停止。

可以按 v 进入编辑模型, shift+ZZ 保存退出到 less 查看模式。

ps查看进程信息并通过less分页显示 ps -ef |less

浏览多个文件 less log2013.log log2014.log

说明:
输入 :n后,切换到 log2014.log
输入 :p 后,切换到log2013.log


文章作者: WangQingLei
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 WangQingLei !
 上一篇
head命令与tail命令 head命令与tail命令
head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。
2021-08-22
下一篇 
cat命令 cat命令
cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。
2021-08-16
  目录