Linux more命令:分屏显示文件内容

 
在讲解 cat 命令时,我们留下了一个疑问,即当使用 cat 命令查看文件内容时,如果文件过大,以至使用PgUp+上箭头组合键向上翻页也无法看全文件中的内容,该怎么办呢?这就需要使用 more 命令。

more 命令可以分页显示文本文件的内容,使用者可以逐页阅读文件中内容,此命令的基本格式如下:

[root@localhost ~]# more [选项] 文件名

more 命令比较简单,一般不用什么选项,对于表 1 中所列的选项,读者只需看到认识即可。

表 1 more 命令选项及含义
选项 含义
-f 计算行数时,以实际的行数,而不是自动换行过后的行数。
-p 不以卷动的方式显示每一页,而是先清除屏幕后再显示内容。
-c 跟 -p 选项相似,不同的是先显示内容再清除其他旧资料。
-s 当遇到有连续两行以上的空白行时,就替换为一行的空白行。
-u 不显示下引号(根据环境变量 TERM 指定的终端而有所不同)。
+n 从第 n 行开始显示文件内容,n 代表数字。
-n 一次显示的行数,n 代表数字。

more 命令的执行会打开一个交互界面,因此读者有必要了解一些交互命令,常用的交互命令如表 2 所示。

表 2 more 命令交互指令及功能
交互指令 功能
h 或 ? 显示 more 命令交互命令帮助。
q 或 Q 退出 more。
v 在当前行启动一个编辑器。
:f 显示当前文件的文件名和行号。
!<命令> 或 :!<命令> 在子Shell中执行指定命令。
回车键 向下移动一行。
空格键 向下移动一页。
Ctrl+l 刷新屏幕。
= 显示当前行的行号。
' 转到上一次搜索开始的地方。
Ctrf+f 向下滚动一页。
. 重复上次输入的命令。
/ 字符串 搜索指定的字符串。
d 向下移动半页。
b 向上移动一页。

【例 1】用分页的方式显示 anaconda-ks.cfg 文件的内容。

[root@localhost ~]# more anaconda-ks.cfg
# Kickstart file automatically generated by anaconda.
#version=DEVEL
install
cdrom
…省略部分内容…
--More--(69%)
#在这里执行交互命令即可


【例 2】显示文件 anaconda-ks.cfg 的内容,每 10 行显示一屏,同时清楚屏幕,使用以下命令:

[root@localhost ~]# more -c -10 anaconda-ks.cfg
#省略输出内容。