more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似) 。more命令从前向后读取文件,因此在启动时就加载整个文件。使用中的说明文件,请按 h

1.命令格式

1
more [-dlfpcsu ] [-num ] [+/pattern] [+linenum] [file ... ] 

2.命令功能

more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。

3.命令参数

1
2
3
4
5
6
7
8
9
10
11
-d             提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔' 声
-f              计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-l              取消(忽略)遇见特殊字符 ^L(换页)时会暂停的功能
-p              通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
-c              不通过滚屏来显示,先显示内容在清除之前内容
-s              把连续的多个空行显示为一行
-u              把文件内容中的下划线(underlining)去掉
-<number>       定义屏幕大小为n行 -5
+<number>       从笫n行开始显示 +5
+/<string>      在每个档案显示前搜寻该字串(string),然后从该字串前两行之后开始显示  +/querystring

后面可以跟文件列表

4.常用操作命令

1
2
3
4
5
6
7
8
9
Enter    向下n行,需要定义。默认为1行
Ctrl+F   向下滚动一屏
空格键  向下滚动一屏
Ctrl+B  返回上一屏
=       输出当前行的行号
:f     输出文件名和当前行的行号
V      调用vi编辑器
!命令   调用Shell,并执行命令 
q       退出more

5.命令实例

实例1:显示从指定行起的内容

1
more +3 log2012.log

实例2:字符串查找

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

1
more +/day3 log2012.log

然后,如果要在文件中继续搜索下一个,只需要按下/按钮,后面跟有关键字dhclient。

实例3:设定每屏显示行数

1
2
3
4
5
6
7
8
9
10
11
12
$ more -5 test.txt
this is line 0
this is line 1
this is line 2
this is line 3
this is line 4
this is line 5
this is line 6
this is line 7
this is line 8
this is line 9
--More--(54%)

说明:

如上所示, 最下面显示了该屏展示的内容占文件总行数的比例,按 Ctrl+F 或者 空格键 将会显示下一屏5条内容,百分比也会跟着变化。

实例4:用more来分页显示

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

1
2
3
4
5
6
7
8
9
10
11
[root@localhost test]#  ls -l  | more -5
总计 36
-rw-r--r-- 1 root root  308 11-01 16:49 log2012.log
-rw-r--r-- 1 root root   33 10-28 16:54 log2013.log
-rw-r--r-- 1 root root  127 10-28 16:51 log2014.log
lrwxrwxrwx 1 root root    7 10-28 15:18 log_link.log -> log.log
-rw-r--r-- 1 root root   25 10-28 17:02 log.log
-rw-r--r-- 1 root root   37 10-28 17:07 log.txt
drwxr-xr-x 6 root root 4096 10-27 01:58 scf
drwxrwxrwx 2 root root 4096 10-28 14:47 test3
drwxrwxrwx 2 root root 4096 10-28 14:47 test4

说明:

每页显示5个文件信息,按 Ctrl+F 或者 空格键 将会显示下5条文件信息。

实例5 提示信息

我们知道,more命令会在显示区域的左下角提示当前内容所占的百分比。对于第一次使用more命令的人来说,他或她可能会想知道怎么才能往下翻页。为了避免这种情况,我们可以在执行时增加-d参数,这样就会额外显示一行用户信息“[按空格键继续,‘q‘推出.]”

1
2
3
4
5
6
7
xxx@ubuntu:~/test$ more -5 -d test7.txt
this is line 1
this is line 2
this is line 3
this is line 4
this is line 5
--More--(17%)[Press space to continue, 'q' to quit.]

如果用户按了‘空格‘或’q‘之外的按键,more会显示一行帮助信息“ [按‘h’键查看提示。]”

1
2
3
4
5
6
7
bobo@ubuntu:~/test$ more -5 -d test7.txt
this is line 1
this is line 2
this is line 3
this is line 4
this is line 5
[Press 'h' for instructions.]

如果按下h键,会显示一个帮助信息, 将附录

一个有意思的指令是b按钮,b按钮允许你退回到前面的页面。换句话说,b按钮可以允许向前翻页。

你可以通过左上角的...前1页信息来确认当前显示的是前面的页面。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
this is line 8
this is line 9
this is line 10
this is line
this is line

...back 1 page
this is line 2
this is line 3
this is line 4
this is line 5
this is line 6
this is line 7
--More--(24%)[Press space to continue, 'q' to quit.]

实例6 二进制文件

不能显示二进制文件. more命令会提示这样的信息,例如:

1
2
3
[ubuntu@ubuntu:~/]$ more /bin/cat
******** /bin/cat: Not a text file ********
[ubuntu@ubuntu:~/]$

6.与less区别

1、操作

more不可以回去,就是不可以向前,只能向后,况且只能使用Enter和Space向后翻动。(版本问题,现在已经可以向前翻动)

less使用vim中的j,k键盘可以上下翻动,还可以使用上下箭头。

2、速度

less不必读整个文件,加载速度会比more更快。

3、内容

less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容。

7.附录

more 参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
xxx@ubuntu:~$ more --help
more: unknown option -help

Usage:
 more [options] <file>...

A file perusal filter for CRT viewing.

Options:
 -d          display help instead of ringing bell
 -f          count logical rather than screen lines
 -l          suppress pause after form feed
 -c          do not scroll, display text and clean line ends
 -p          do not scroll, clean screen and display text
 -s          squeeze multiple blank lines into one
 -u          suppress underlining
 -<number>   the number of lines per screenful
 +<number>   display file beginning from line number
 +/<string>  display file beginning from search string match
 -V          display version information and exit

For more details see more(1).

more操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Most 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
-------------------------------------------------------------------------------

参考文献