导言
今天博文讲述另一个查看文件内容的命令,这个命令是more。more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。
more命令从前向后读取文件,因此在启动时就加载整个文件。
more
作用
对于linux来说,more的作用它的英文解释是"file perusal filter for crt viewing",这里对后面的“crt viewing”不用太过于关注,只是指出了more显示内容是怎么显示的。具体的是在前部分,“file perusal filter”,也就是说,more的作用相当于文件阅读过滤器。
more的确具备很好的功能,相比cat的单调显示行号来说,而且more是一页一页显示,而cat则完全显示出来,如果文件内容过多,很可能就看不见cat打印到screen的信息,所以more的重要性就出来了,因为可以一页一页(准确的是一屏一屏的大小)看,还可以从中查找想要的信息,不过可惜的是more只能向后翻页。
用法
more [-dlfpcsu] [-num] [+/pattern] [+linenum] [file ...]
详细全选项参数解释
选项 | 含义(作用) |
---|---|
-num | 此选项指定一个整数,它是屏幕大小(以行为单位),即一次在一屏screen中显示文件内容的行数为num行。 |
-d | 将在画面下方显示 [Press space to continue, ‘q’ to quit.] 提示用户。如果按错键,则会显示 [Press ‘h’ for instructions.] 而不是响铃。 |
-l | 更常见的是将^ L(换页符)视为特殊字符,并在包含换页符的任何行之后暂停。 -l选项将阻止此行为。 |
-f | 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上) |
-p | 不以卷动的方式显示, 而是先清除整个屏幕,然后显示文本。 |
-c | 从顶部绘制每个屏幕,清除每行显示的其余部分,与-p选项类似,但-c是先显示内容再清除其他旧资料。 |
-s | 将多个空白行挤压成一个(当遇到有连续两行以上的空白行,就代换为一行的空白行)。 |
-u | 不显示下划线(underlining) (根据环境变数 TERM 指定的 terminal 而有所不同) |
+/pattern | 选项指定在显示每个文件之前将搜索的字符串(pattern格式)。 |
命令选项(与vi类似)
该处命令很实在,是当你在阅读时,输入部分命令完成特定功能。如果忘记了,直接按h键可以提示你有哪些。最常用的可能是空格键翻页和Enter键翻开下一行。注意下面写的^X 意思是 ctrl+X
命令 | 作用 |
---|---|
h 或 ? | 帮助:显示这些命令的摘要。 如果您忘记了所有其他命令,请记住这一个。 |
SPACE | 按住空格键,显示下一行k行文字。默认为当前屏幕大小。 |
z | 显示下一行k行文字。默认为当前屏幕大小。参数成为新的默认值。 |
RETURN | 目前键盘上可能是Enter键。显示下一行k行文字。默认为1.参数成为新的默认值。 |
d 或 ^D | 滚动k行。默认为当前滚动大小,最初为11.参数变为新的默认值。 |
q 或 Q 或 INTERRUPT | 退出。值得注意的是,INTERRUPT应是Ctrl+C快捷键。 |
s | 向前跳过k行文字,默认为1,然后刷新一屏大小的文件内容。 |
f | 跳过k屏幕文字,默认为1,相当于按住两次空格键只观测到第二次空格键显示内容。 |
b 或 ^B | 向后跳过k屏幕文本。 默认为1.仅适用于文件,而不适用于管道。 |
’ | 转到上一个搜索开始的位置。 |
= | 显示当前行号。 |
/pattern | 搜索正则表达式的第k次出现, 默认为1。 |
n | 搜索最后一次r.e的第k次出现,默认为1,与/pattern 配合使用。 |
!<cmd> 或 :!<cmd> | 在subshell中,调用Shell,并执行命令 |
v | 在当前行启动编辑器。 编辑器取自环境变量VISUAL(如果已定义)或EDITOR(如果未定义VISUAL),或默认为“vi”(如果未定义VISUAL或EDITOR)。 |
^L | 重绘屏幕 |
:n | 如果有多个文件,转到第k个下一个文件,默认为1。如果more后不是查看多个文件,则直接退出。 |
:p | 与:n 相反,转到第k个上一个文件, 默认为1。 |
:f | 显示当前文件名和行号 |
. | 重复上一个命令,模式寻找的时候重复往下查找,该命令很有用。 |
实践一-每次显示指定行数
本次实践是每次屏幕显示五行,然后可以按空格键翻页。
more -5 /etc/pnm2ppa.conf
结果如下:
[tqw@YuYunTan 桌面]$ more -5 /etc/pnm2ppa.conf
# Sample configuration file
#
# This file will be automatically read upon startup if it is placed in
# /etc/pnm2ppa.conf
#
--More--(1%)
实践二-从指定行开始显示文件内容
还是实践一的文件,查看从第三行开始。
more +3 /etc/pnm2ppa.conf
结果如下:
# /etc/pnm2ppa.conf
#
# uncomment entries by removing "#" to activate them.
#
#-----------set the printer model---------------------------
# YOU MUST CHOOSE ONE OF THE FOLLOWING, EVEN IF YOU DO NOTHING ELSE!
#
# If there is more than one "version" entry activated, the last one
# will be used. The printer version can also be set with the command line
# option e.g., "-v 720".
#version 720 # 710, 712, 722 also acceptable
#version 820
#version 1000
#--------control system log messages from pnm2ppa-------------------
# pnm2ppa issues progress and error messages to the system log (syslog).
# For security reasons, no input from the user is ever sent to the syslog.
# The setting "silent 1" suppresses messages to the syslog. The
# setting "verbose 1" sends messages to the standard error stream (stderr)
# in addition to the syslog. (Note: on BeOS, syslog messages are
--More--(15%)
结语
还有模式匹配等的字符串查找的,大家可以自行尝试,本次就实践两个到这里为止,后面会讲述less命令。more与less两者的差别也会讲less的时候会指出。