Linux 常用命令 - more 【分页显示文件内容】
简介
more
命令源自英文单词 more, 表示 “更多”,它是一个基于文本的程序,用于查看文本文件的内容。该命令会逐页显示文件内容,允许用户按页浏览大型文本文件。当用户完成当前页的阅读后,可以通过按键(空格键或回车键)浏览到下一页。这种方式非常适合查看较长的日志文件或任何大型文本。
使用方式
more [选项] 文件...
常用选项
-
-d
:显示提示信息,并且关闭提示音(当按下无效按键)。 -
-l
:将^L
(换页符)作为普通字符处理,而不是暂停输出内容。 -
-f
:统计逻辑行(实际的行数),而不是屏幕行(对于很长的行会自动换行显示,从而变成多行屏幕行)。 -
-p
:显示新页面时不滚动屏幕,而是清除屏幕内容然后显示新的文本。 -
-c
:显示新页面时不滚动屏幕,而是先从顶部开始显示新内容,然后清除剩余的内容。 -
-s
:将多个空白行压缩成一行显示。 -
-u
:不显示下划线。 -
-number
:指定每次屏幕显示的最大行数为number
。 -
+number
:从指定的行号开始显示内容。 -
+/string
:从指定的字符串开始显示文件内容。 -
--help
:显示帮助信息。 -
-V
,--version
:显示版本信息。
交互指令
more
命令的交互指令基于 vi
。一些命令可能在前面加一个十进制的数,这个数在下面被称为 k
。在接下来的描述中,^X
代表 Ctrl + X
。
-
h
或?
:显示帮助信息。 -
空格
:显示接下来的k
行文本,默认为当前屏幕大小的行数。 -
z
:显示接下来的k
行文本,默认情况下显示当前屏幕大小的行数。如果指定了参数则该参数会成为新的默认值。 -
回车
:显示接下来的k
行文本,默认情况下显示1
行。如果指定了参数则该参数会成为新的默认值。 -
d
或^D
:向下滚动k
行。默认情况下滚动当前设置的行数,初始值为11
行。如果指定了参数则该参数会成为新的默认值。 -
q
或Q
或INTERRUPT
(中断信号):退出more
命令。 -
s
:向前跳过k
行文本,默认跳过1
行。 -
f
:向前跳过k
个屏幕的文本,默认跳过一个屏幕。 -
b
或^B
:向后跳过k
个屏幕的文本。默认跳过1
个屏幕。这个命令仅在文件中有效,不适用于管道。 -
'
:跳转到上次搜索开始的位置。 -
=
:显示当前行号。 -
/pattern
:搜索正则表达式pattern
的第k
次出现。默认情况下搜索第1
次出现。 -
n
:搜索上一个正则表达式的第k
次出现。默认情况下搜索第1
次出现。 -
!command
或:!command
:在子命令行中执行命令。 -
v
:在当前行启动一个编辑器。编辑器的选择依据环境变量VISUAL
,如果VISUAL
未定义,则使用EDITOR
,如果VISUAL
和EDITOR
都未定义,则默认为vi
。 -
^L
:重绘屏幕。 -
:n
:跳转到后面第k
个文件。默认跳转到下一个文件。 -
:p
:跳转到之前的第k
个文件。默认跳转到上一个文件。 -
:f
:显示当前文件名和行号。 -
.
:重复前一个命令。
环境变量
以下环境变量会影响 more
命令:
-
MORE
:该环境变量可以设置more
命令的默认启用选项。 -
SHELL
:当前使用的shell
(通常在登录时由shell
设置)。 -
TERM
:用来获取终端类型的环境变量,以便得到必要的终端特性来操作屏幕。 -
VISUAL
:指定在按下命令键v
时调用的编辑器。 -
EDITOR
:当VISUAL
未指定时的选择编辑器。
参考示例
1. 分页显示文件内容
more more.txt
使用 more
文件名 可以分页显示指定文件的内容:
MORE(1) User Commands MORE(1)NAMEmore - file perusal filter for crt viewingSYNOPSISmore [options] file...DESCRIPTIONmore is a filter for paging through text one screenful at a time. This version is especially primitive. Users should realize that less(1) provides more(1) emulationplus extensive enhancements.OPTIONSOptions are also taken from the environment variable MORE (make sure to precede them with a dash (-)) but command-line options will override those.-d Prompt with "[Press space to continue, 'q' to quit.]", and display "[Press 'h' for instructions.]" instead of ringing the bell when an illegal key is pressed.
--More--(17%)
2. 显示提示信息
more -d more.txt
使用 -d
选项可以在尾部显示提示信息,用于指示基础交互命令的操作:
MORE(1) User Commands MORE(1)NAMEmore - file perusal filter for crt viewingSYNOPSISmore [options] file...DESCRIPTIONmore is a filter for paging through text one screenful at a time. This version is especially primitive. Users should realize that less(1) provides more(1) emulationplus extensive enhancements.OPTIONSOptions are also taken from the environment variable MORE (make sure to precede them with a dash (-)) but command-line options will override those.-d Prompt with "[Press space to continue, 'q' to quit.]", and display "[Press 'h' for instructions.]" instead of ringing the bell when an illegal key is pressed.
--More--(17%)[Press space to continue, 'q' to quit.]
3. 先清屏,然后以每次10行的内容显示文件内容
more -c -10 more.txt
使用 -c
选项使 more
指令在显示时先进行清屏,然后再使用 -10
指定显示 10
行的内容:
MORE(1) User Commands MORE(1)NAMEmore - file perusal filter for crt viewingSYNOPSISmore [options] file...DESCRIPTION
--More--(8%)
4. 从第10行开始显示内容
more +10 more.txt
使用 +10
选项可以指定从文件的第 10
行开始显示:
more is a filter for paging through text one screenful at a time. This version is especially primitive. Users should realize that less(1) provides more(1) emulationplus extensive enhancements.OPTIONSOptions are also taken from the environment variable MORE (make sure to precede them with a dash (-)) but command-line options will override those.-d Prompt with "[Press space to continue, 'q' to quit.]", and display "[Press 'h' for instructions.]" instead of ringing the bell when an illegal key is pressed.-l Do not pause after any line containing a ^L (form feed).-f Count logical lines, rather than screen lines (i.e., long lines are not folded).-p Do not scroll. Instead, clear the whole screen and then display the text. Notice that this option is switched on automatically if the executable is named pag
e.-c Do not scroll. Instead, paint each screen from the top, clearing the remainder of each line as it is displayed.--More--(26%)
5. 从指定字符串开始显示内容
more +/COMMANDS more.txt
使用 +/字符串
可以从指定字符串开始显示内容:
Display version information and exit.COMMANDSInteractive commands for more are based on vi(1). Some commands may be preceded by a decimal number, called k in the descriptions below. In the following descriptio
ns, ^X means control-X.h or ? Help; display a summary of these commands. If you forget all other commands, remember this one.SPACE Display next k lines of text. Defaults to current screen size.z Display next k lines of text. Defaults to current screen size. Argument becomes new default.RETURN Display next k lines of text. Defaults to 1. Argument becomes new default.d or ^D Scroll k lines. Default is current scroll size, initially 11. Argument becomes new default.q or Q or INTERRUPT
--More--(49%)
注意事项
-
more
命令在处理大文件时效率较低,相比之下less
命令功能更丰富且效率更高。 -
使用
more
命令时,需要注意文件路径和权限,确保文件存在且具有读取权限。 -
more
命令默认只支持从前向后浏览文件内容,没有很好地支持向上滚动。