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

1年前 (2024-04-27)
在讲解 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

#省略输出内容。