more 是什么
more 是最早的分页查看器,一次只显示一屏,按空格继续往下翻,避免长文件在终端里刷屏。它的能力比 less 少:POSIX 对 more 的选项规定很少,多数实现不支持像 less 那样自由上下滚动与复杂搜索。在现代 Linux 上,不少发行版把 more 直接做成指向 less 的符号链接,你看到的实际行为来自 less。它更像是一种兼容性存在,而不是首选工具。
基本信息
| 所属 | util-linux,也可由 busybox 提供 |
|---|---|
| 语法 | more [选项] 文件 |
| 常用按键 | 空格翻页、b 回翻一屏、q 退出、/ 向下搜索 |
| 对比工具 | less 支持上下自由滚动、搜索与多种过滤 |
| 脚本可用性 | 不推荐在无人值守脚本中调用 |
典型使用场景
- 快速看一屏配置或日志开头,不启动编辑器
- 老脚本与老运维习惯沿用分页,兼容性优先的场合
- 把命令输出管道进分页器:命令 | more
- 极简系统或 busybox 环境里只有 more 时兜底
- 查看较长的配置文件时逐屏阅读、边看边记
- 远程会话带宽较小时避免一次刷出整屏内容
常用示例
常用示例
more /etc/services # 逐屏查看大文件
dmesg | more # 管道分页,避免刷屏
more +/sshd sshd_config # 定位到含 sshd 处(实现相关)
more -10 app.log # 先看 10 行(util-linux 支持)
less -F file.txt # 一屏放得下就直接输出,现代替代写法
head -50 file.txt # 脚本里取内容,不要用分页器
readlink -f "$(command -v more)" # 确认 more 是否只是 less 的软链
PAGER=less more file.txt # 环境变量决定实际调用的寻呼器按键与行为
| 按键 | 作用 | 备注 |
|---|---|---|
| 空格 | 向下翻一屏 | 最常用,也支持一次翻多屏 |
| b | 向上回翻一屏 | util-linux 支持,POSIX 未规定 |
| q | 退出分页 | 退出后回到 shell 提示符 |
| / 模式 | 向下搜索关键字 | 不同实现能力差异较大 |
| Enter | 向下滚动一行 | 细看某几行时使用 |
脚本里不要依赖 more 的选项:POSIX 对它几乎没做规定,more -s 或 more +N 在不同系统上表现可能不同。需要稳定行为时改用 less,或者更稳妥地在脚本里用 head、tail、sed 直接取需要的内容。
有些程序查看帮助或输出时会调用环境变量 PAGER 指定的分页器,此时把 PAGER 设为 less 或 cat,就能避开 more 的能力限制;临时设成 cat 可让输出直接落地,方便重定向到文件。
分页器会阻塞管道:自动化脚本、CI 与定时任务里误用分页器会让进程一直等待键盘输入而挂住,表现为任务莫名卡死且看不到报错。