楔子:作为一名经常开车的老司机,查看日志文件是一种家常便饭。Linux more 命令就是这样一道非常下饭的菜,学会用它查看日志文件,也许会让很多问题及时被发现和定位。
Linux more 命令
Linux more 命令,顾名思义就是显示更多。类似 cat,不过会以一页一页的形式显示,更方便逐页阅读。
more 和 less 的区别:
- less 不必读整个文件,所以加载速度会比 more 更快
- less 可以按键盘上下方向键显示上下内容,而 more 不能通过上下方向键控制显示
- less 退出后 shell 不会留下刚显示的内容,而 more 退出后会在 shell 上留下刚显示的内容
语法格式
more [-选参] [-num] [+/pattern] [+linenum] [fileNames..]
选参说明
可选参数 | 含义 |
---|---|
-f | 计算行数时,以实际的行数,而不是自动换行过后的行数。 |
-p | 不以卷动的方式显示每一页,而是先清除屏幕后再显示内容。 |
-c | 跟 -p 选项相似,不同的是先显示内容再清除其他旧资料。 |
-s | 当遇到有连续两行以上的空白行时,就替换为一行的空白行。 |
-u | 不显示下引号(根据环境变量 TERM 指定的终端而有所不同)。 |
+n | 从第 n 行开始显示文件内容,n 代表数字。 |
-n | 一次显示的行数,n 代表数字。 |
交互指令
下面的命令可以在 more 命令使用过程中按照指令模式键入使用,此时 more 命令的执行会打开一个交互界面。
交互指令 | 功能 |
---|---|
h 或 ? | 显示 more 命令交互命令帮助。 |
q 或 Q | 退出 more。 |
v | 在当前行启动一个编辑器。 |
:f | 显示当前文件的文件名和行号。 |
!<命令> 或 :!<命令> | 在子Shell中执行指定命令。 |
回车键 | 向下移动一行。 |
空格键 | 向下移动一页。 |
Ctrl+l | 刷新屏幕。 |
= | 显示当前行的行号。 |
' | 转到上一次搜索开始的地方。 |
Ctrf+f | 向下滚动一页。 |
. | 重复上次输入的命令。 |
/ 字符串 | 搜索指定的字符串。 |
d | 向下移动半页。 |
b | 向上移动一页。 |
参考示例
01)显示文件中从第 N 行起的内容
more +100 dubbo-log.20190929
02)从文件中查找第一个出现指定字符串的行,并从查找结果中跳过开始两行,即从第二行开始输出显示
more +2/Exception dubbo-log.20190929
03)设定每屏显示行数
more -10 dubbo-log.20190929
04)查找指定字符串内容首次出次日志,并设定每屏显示行数
more -10 +/Exception dubbo-log.20190929
05)列一个目录下的文件,由于内容太多,和管道 | 结合起来
ls -l | more -10
06)查询指定内容,设定每 N 行显示一屏,同时清除历史查询结果
more -c -10 +/Exception dubbo-log.20190929