如果文件内容较多,需要分成多页展示,用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