more命令
more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。
more内置快捷键
more名单中内置了若干快捷键,常用的有
- H(获得帮助信息),
- Enter(向下翻滚一行),
- 空格(向下滚动一屏),
- Q(退出命令)。
该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:—More—(XX%)可以用下列不同的方法对提示做出回答:
- 按Space键:显示文本的下一屏内容。
- 按Enter键:只显示文本的下一行内容。
- 按斜线符
/
:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。 - 按H键:显示帮助屏,该屏上有相关的帮助信息。
- 按B键:显示上一屏内容。
- 按Q键:退出rnore命令。
man more
1 | MORE(1) BSD General Commands Manual MORE(1) |
测试文件
为了测试文件,现在创建一个more_test.txt文件,写入如下内容:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38[root@localhost Linux_Test]# cat more_test.txt
0英文的26个字母大写是:A、 B、 C、 D、 E、 F、 G 、H 、I、 J、 K 、L、 M 、N 、O、 P 、Q 、R、 S、 T、 U、 V、 W、 X 、Y 、Z。阿拉伯数字为:0、1、2、3、4、5、6、7、8、9。
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[root@localhost Linux_Test]#
more
1 | [root@localhost Linux_Test]# more more_test.txt |
more选项
more -num文件:指定屏幕的行数 (以整数表示)
more -5 more_test.txt
刚开始只显示文件的前面5行:1
2
3
4
5
6
7[root@localhost Linux_Test]# more -5 more_test.txt
0英文的26个字母大写是:A、 B、 C、 D、 E、 F、 G 、H 、I、 J、 K 、L、 M 、N 、O、 P 、Q 、R、 S、 T、 U、 V、 W、 X 、Y
、Z。阿拉伯数字为:0、1、2、3、4、5、6、7、8、9。
1
2
3
--More--(78%)
如果按下空格,则会再显示下一屏幕(5行):1
2
3
4
5
6
7
8
9
10
11
12[root@localhost Linux_Test]# more -5 more_test.txt
0英文的26个字母大写是:A、 B、 C、 D、 E、 F、 G 、H 、I、 J、 K 、L、 M 、N 、O、 P 、Q 、R、 S、 T、 U、 V、 W、 X 、Y
、Z。阿拉伯数字为:0、1、2、3、4、5、6、7、8、9。
1
2
3
4
5
6
7
8
--More--(81%)
more -d:显示提示信息 按错键不鸣笛
more -d:让more给用户显示提示信息”[Press space to continue, ‘q’ to quit.]”, 当用户按下其他键时,显示”[Press ‘h’ for instructions.]”,而不是扬声器鸣笛.1
2
3
4
5
6
7[root@localhost Linux_Test]# more -d -5 more_test.txt
0英文的26个字母大写是:A、 B、 C、 D、 E、 F、 G 、H 、I、 J、 K 、L、 M 、N 、O、 P 、Q 、R、 S、 T、 U、 V、 W、 X 、Y
、Z。阿拉伯数字为:0、1、2、3、4、5、6、7、8、9。
1
2
3
--More--(78%)[Press space to continue, 'q' to quit.]
more -f:more计数逻辑行而不是屏幕行
more -f:使more计数逻辑行,而不是屏幕行(就是说,长行不会断到下一行).1
2
3
4
5
6
7[root@localhost Linux_Test]# more -f -5 more_test.txt
0英文的26个字母大写是:A、 B、 C、 D、 E、 F、 G 、H 、I、 J、 K 、L、 M 、N 、O、 P 、Q 、R、 S、 T、 U、 V、 W、 X 、Y 、Z。阿拉伯数字为:0、1、2、3、4、5、6、7、8、9。
1
2
3
4
--More--(78%)
more -p:清屏后再显示
不卷屏,而是清除整个屏幕,然后显示文本.1
2
3
4
5
60英文的26个字母大写是:A、 B、 C、 D、 E、 F、 G 、H 、I、 J、 K 、L、 M 、N 、O、 P 、Q 、R、 S、 T、 U、 V、 W、 X 、Y
、Z。阿拉伯数字为:0、1、2、3、4、5、6、7、8、9。
1
2
3
--More--(78%)
当你按下空格键,显示下一屏的时候,会再次清屏,然后在输出:1
2
3
4
5
64
5
6
7
8
--More--(81%)
你可以向上滚动屏幕,可以看到清屏,然后输出的效果:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19[root@localhost Linux_Test]# more -p -5 more_test.txt
0英文的26个字母大写是:A、 B、 C、 D、 E、 F、 G 、H 、I、 J、 K 、L、 M 、N 、O、 P 、Q 、R、 S、 T、 U、 V、 W、 X 、Y
、Z。阿拉伯数字为:0、1、2、3、4、5、6、7、8、9。
1
2
3
--More--(78%)
4
5
6
7
8
--More--(81%)
9
A
B
C
D
--More--(85%)
more -c:下一屏幕的内容会覆盖当前屏幕的内容
不卷屏,而是从每一屏的顶部开始显示文本,每显示完一行,就清除这一行的剩余部分.1
2
3
4
5
60英文的26个字母大写是:A、 B、 C、 D、 E、 F、 G 、H 、I、 J、 K 、L、 M 、N 、O、 P 、Q 、R、 S、 T、 U、 V、 W、 X 、Y
、Z。阿拉伯数字为:0、1、2、3、4、5、6、7、8、9。
1
2
3
--More--(78%)
当你按下空格后,more命令会清除当前屏幕的输出行,然后再使用下一屏幕的内容覆盖到当前屏幕输出。1
2
3
4
5
64
5
6
7
8
--More--(81%)
当你向上滚动屏幕时,只会看到more输出了一个屏幕而已,标准输出中不会有之前的输出信息,这就是和more -p的区别:
1 | [root@localhost Linux_Test]# |
more -s:压缩重复空行
测试文件
1 | [root@localhost Linux_Test]# cat more_test_2.txt |
1 | [root@localhost Linux_Test]# more -5 more_test_2.txt |
1 | [root@localhost Linux_Test]# more -s -5 more_test_2.txt |
more +/正则表达式:从有匹配正则表达式的字符串的行开始显示
测试文件
1 | [root@localhost Linux_Test]# cat more_test3.txt |
命令:more -5 +/^[a-z] more_test3.txt
表示每屏幕显示5行,从匹配正则表达式^[a-z]开始的行附近开始显示。1
2
3
4
5
6
7
8
9[root@localhost Linux_Test]# more -5 +/^[a-z] more_test3.txt
...跳过
6
aaa
b
c
--More--(73%)
more +linenum:从第linenum行开始显示
1 | [root@localhost Linux_Test]# more -5 more_test.txt |
一屏幕显示5行,从第5行开始显示:1
2
3
4
5
6
7[root@localhost Linux_Test]# more -5 +5 more_test.txt
4
5
6
7
8
--More--(81%)
more的显示控制命令
满屏后,显示—more—或—more—(xx%),可以使用more命令:
more命令 | 功能 |
---|---|
空格 | 显示下一屏 |
回车 | 上滚一行,当所感兴趣的段落内容正好处于当前屏的尾部,另有一部分在下一页中时,可以连续按回车,将感兴趣的部分滚动上来 |
q | (quit)退出程序,后面的内容不再显示 |
/pattern | 搜索指定模式的字符串,模式描述用正则表达式 |
/ | 继续查找指定模式的字符串 |
h | (Help)帮助信息。打印more命令的所有功能列表 |
Ctrl-L | 屏幕刷新 |
测试文件
1 | [root@localhost Linux_Test]# cat more_test4.txt |
显示5行逻辑行
1 | [root@localhost Linux_Test]# more -f -5 more_test4.txt |
此时可以输入more的命令。
显示more的控制命令的帮助文档
输入h或者shift+?可以显示帮助文档,1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24Most commands optionally preceded by integer argument k. Defaults in brackets.
Star (*) indicates argument becomes new default.
-------------------------------------------------------------------------------
<space> Display next k lines of text [current screen size]
z Display next k lines of text [current screen size]*
<return> Display next k lines of text [1]*
d or ctrl-D Scroll k lines [current scroll size, initially 11]*
q or Q or <interrupt> Exit from more
s Skip forward k lines of text [1]
f Skip forward k screenfuls of text [1]
b or ctrl-B Skip backwards k screenfuls of text [1]
' Go to place where previous search started
= Display current line number
/<regular expression> Search for kth occurrence of regular expression [1]
n Search for kth occurrence of last r.e [1]
!<cmd> or :!<cmd> Execute <cmd> in a subshell
v Start up /usr/bin/vi at current line
ctrl-L Redraw screen
:n Go to kth next file [1]
:p Go to kth previous file [1]
:f Display current file name and line number
. Repeat previous command
-------------------------------------------------------------------------------
--More--(12%)
正则查找
输入/
可以进入正则表达式查找功能。
例如输入/^[A-Z]
跳转到以大写字母开头的行:1
2
3
4
5
6
7/^[A-Z]
...跳过
9
0
A
B
--More--(28%)
输入/[A-Z][A-Z]
,跳转到包含两个大写字母的行:1
2
3
4
5
6
7/[A-Z][A-Z]
...跳过
N
O
PP
QQ
--More--(67%)
按键n:跳转到下一个正则匹配行:
按下一次按键n的效果:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23[root@localhost Linux_Test]# more -f -5 more_test4.txt
1
2
3
4
5
/[A-Z]
...跳过
9
0
A
B
/[A-Z][A-Z]
...跳过
N
O
PP
QQ
RR
SS
TT
UU
--More--(81%)
再按一次按钮n的效果:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27[root@localhost Linux_Test]# more -f -5 more_test4.txt
1
2
3
4
5
/[A-Z]
...跳过
9
0
A
B
/[A-Z][A-Z]
...跳过
N
O
PP
QQ
RR
SS
TT
UU
VV
WW
XX
YY
--More--(96%)
more中输入正则表达式需要注意的点
在more中输入的正则表达式只能从左至右按顺序输入,无法使用左右箭头移动光标。
如果输入错了可以按下Ctrl+backSpace键进行删除,单独按backSpace键是无法删除的,反而会输入^H
字符。
调用Vi编辑器打开当前文件
输入v可以使用vi编辑器打开more正在打开的文件。
参考资料
https://www.cnblogs.com/peida/archive/2012/11/02/2750588.html
https://www.yiibai.com/linux/more.html
https://man.linuxde.net/more
https://www.runoob.com/linux/linux-comm-more.html