Linux系统中的more
命令是一个常用的文本文件查看工具,它允许用户逐页或逐行显示文件内容,特别适合查看较大的文本文件,与cat
命令不同,more
命令不会一次性将整个文件内容输出到终端,而是分页显示,用户可以通过按键控制浏览进度,从而避免终端被大量文本刷屏。more
命令属于coreutils
软件包,是Linux系统的基础工具之一,广泛应用于日常管理和脚本编写中。

more
命令的基本语法
more
命令的基本语法格式为:
more [选项] 文件名
选项
是可选的参数,用于控制more
命令的行为,文件名
是要查看的文本文件路径,如果未指定文件名,more
命令会从标准输入读取数据,例如通过管道传递的文本内容。
常用选项及功能
more
命令提供了多种选项,以满足不同的查看需求,以下是常用的选项及其功能说明:
选项 | 功能描述 |
---|---|
-n |
定义每页显示的行数,例如-10 表示每页显示10行 |
-s |
将连续的空行压缩为单个空行,避免显示过多空白 |
-d |
在底部显示帮助信息,如“--More--(XX%)” |
-f |
计算实际的行数,而不是按换行符计算 |
-p |
不滚动屏幕,而是清屏后显示新内容 |
-c |
不滚动屏幕,而是逐行刷新显示 |
-u |
禁止下划线显示,适用于某些终端 |
+行号 |
从指定行号开始显示,例如+50 表示从第50行开始 |
交互操作命令
在more
命令的显示界面中,用户可以通过按键进行交互操作,以下是常用的交互按键及其功能:

按键 | 功能描述 |
---|---|
空格键 | 向下翻一页 |
Enter键 | 向下滚动一行 |
b 或Ctrl-B |
向上翻一页 |
f 或Ctrl-F |
向下翻一页(同空格键) |
q 或Q |
退出more 命令 |
=号 |
显示当前行号 |
/字符串 |
向下搜索指定的字符串 |
?字符串 |
向上搜索指定的字符串 |
f |
显示当前文件名和行号 |
!命令 |
执行Linux系统命令,例如!ls |
v |
使用编辑器(如vi )打开当前文件 |
实际应用场景
-
查看大型日志文件
当需要查看系统日志或应用程序日志等大文件时,使用more
命令可以避免终端被大量文本淹没。more /var/log/syslog
用户可以通过空格键逐页浏览,或使用
/error
搜索错误信息。 -
结合管道使用
more
命令可以与其他命令结合使用,通过管道处理文本输出。ls -l | more
该命令会将
ls -l
的输出结果分页显示,方便用户查看长列表。(图片来源网络,侵删) -
从指定行开始查看
如果需要从文件的特定行开始查看,可以使用+行号
选项。more +100 /etc/passwd
该命令将从第100行开始显示
/etc/passwd
。 -
压缩连续空行
对于包含大量空行的文件,使用-s
选项可以优化显示效果。more -s test.txt
该命令会将连续的空行压缩为单个空行,使内容更紧凑。
与less
命令的比较
more
命令与less
命令功能相似,但less
提供了更多高级功能,
less
支持前后双向滚动,而more
只能向前滚动(除非使用-p
或-c
选项)。less
支持更多的搜索和编辑功能,如正则表达式搜索。less
在退出时不会在终端留下残留信息,而more
有时需要手动清屏。
尽管less
功能更强大,但more
命令因其简单性和轻量级特点,在资源受限的环境或简单查看任务中仍然非常实用。
注意事项
-
文件编码问题
如果文件包含非UTF-8编码的字符(如中文GBK编码),直接使用more
查看可能会出现乱码,建议先使用iconv
命令转换编码,iconv -f gbk -t utf-8 file.txt | more
-
二进制文件查看
more
命令不适合查看二进制文件,因为二进制数据可能包含控制字符,导致终端显示异常,查看二进制文件应使用hexdump
或od
命令。 -
权限问题
如果用户没有读取文件的权限,more
命令会报错,此时需要使用sudo
提升权限,sudo more /etc/shadow
相关问答FAQs
问题1:more
命令和less
命令的主要区别是什么?
解答:more
和less
都是文本查看工具,但主要区别在于功能范围。more
只能向前翻页(除非使用特定选项),而less
支持双向滚动,可以前后自由浏览文件内容。less
支持更复杂的搜索(如正则表达式)、语法高亮和更多编辑功能,但占用资源略高于more
,对于简单的查看任务,more
足够使用;对于需要频繁跳转和搜索的场景,less
更合适。
问题2:如何在more
命令中快速跳转到文件的末尾?
解答:more
命令本身没有直接跳转到末尾的快捷键,但可以通过以下方法实现:
- 使用选项结合行号,例如
more +100000 file.txt
(假设文件行数不超过100000)。 - 在
more
界面中按G
键(大写G),会直接跳转到文件末尾;按g
键(小写g)则跳转到文件开头。 - 结合
wc -l
命令获取总行数,例如more +$(wc -l < file.txt) file.txt
。