如果文件内容较多,需要分成多页展示,用cat命令就不太合适,这时就可以使用more命令或less命令。

more命令的功能就是分页显示文本文件内容,它可以把文本内容一页一页的显示在终端界面上,用户每按一次回车就向下滚动一行,每按一次空格则向下翻一页,直至看完为止。

more命令语法格式如下:

more [选项] 文件

 常用选项如下:

选项

作用或含义

-M

指定每屏显示的M行的内容

-f

计算实际的行数,而非自动换行的行数

-p

不滚屏,先清除屏幕再显示文件内容

-c

与-p相似,不滚屏,先显示内容再清除旧内容

-s

将多个连续的空行压缩成一个空行显示 

-u

取消下划线和粗体

+/pattern

先从文件中指定文本模式(pattern),然后从该文本模式所在行开始显示 

+N

 N为数,表示从第N行开始显示,每个空行也有行号

 实例演示:

1、分页显示文件内容

# 分页显示文件内容,每页左下角会高亮显示当前已显示的比例
[root@myEuler ~]# more /etc/ssh/sshd_config 
……此处省略输出……

--更多--(24%)

注:按回车键向下显示一行,按空格键或page down键则向下翻一页,按Q键则取消展示后续内容。通常情况下,无法按page up键则向上回翻页。

2、先清空屏幕,然后显示文件内容 

# 先清屏,然后显示一满屏内容
[root@myEuler ~]# more -p /etc/ssh/sshd_config 

# 先清屏,然后按每8行一屏展示内容
[root@myEuler ~]# more -p -8 /etc/ssh/sshd_config

3、从指定行开始显示

# 指定从第18行号开始显示,每屏显示6行
[root@myEuler ~]# more +18 -6 /etc/ssh/sshd_config
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
--更多--(17%)

 4、从首次匹配的内容开始显示

# 选清屏,然后从包含PermitRootLogin的行开始显示,每屏显示4行
[root@myEuler ~]# more -c -4 +/PermitRootLogin /etc/ssh/sshd_config

#LoginGraceTime 2m
PermitRootLogin yes
--更多--(23%)

5、将标准输出用more分页显示

很多时候,一条命令执行后的输出会很多,一屏无法显示完,这时也可以利用管道线将输出给more分屏显示。

# 将ps aux命令的执行结果分页显示
[root@myEuler ~]# ps aux | more

# 将cat命令的执行结果分屏显示,每屏显示18行
[root@myEuler ~]# cat /etc/ssh/sshd_config | more -c -18