Linux more 命令详解

Linux more 命令详解 🐧📄📖


学习目标 🎯

  • 掌握 more 命令的基本功能与使用方法。
  • 理解 more 在查看文本文件、日志内容等场景中的适用性。
  • 能结合其他命令(如 cat, less, grep, head, tail)灵活使用 more
  • 了解不同 Linux 发行版(Ubuntu、CentOS、EulerOS)在默认行为和兼容性上的差异。
  • 熟悉常见操作技巧与替代建议,避免误操作或性能问题。

核心重点 ✅

类别 内容
命令含义 more 是一个早期的文本分页查看器
基本语法 more [选项] [文件名]
核心功能 - 分页显示文件内容
- 支持向下翻页
- 不支持向上滚动
常用参数 -d, -s, -f, -p
权限控制 普通用户可读取自己有权限的文件
跨平台差异 功能一致,现代系统推荐使用 less 替代

详细讲解 💡


1. 基本介绍 📘

📌 功能:

more 是 Linux 中最早的文本分页查看工具之一。它用于将文件内容逐屏输出到终端,适合查看中等大小的文本文件,尤其在终端窗口较小的情况下非常有用。

📌 语法:

more [选项] [文件名]

📌 示例:

more /etc/hosts

👀 输出示例:

127.0.0.1 localhost
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
...
--More--(50%)

Enter 键一行一行往下看,按 空格键 一页一页翻,输入 q 可退出。


2. 常用参数详解 🛠️

参数 说明 示例
-d 显示帮助信息(友好提示) more -d file.txt
-s 压缩多个空白行为一个空行 more -s file.txt
-f 计算逻辑行数(不合并换行) more -f file.txt
-p 清除屏幕后显示内容(避免乱码) more -p file.txt

3. 实际应用场景 🏢🧱

🧱 场景一:查看系统配置文件(如 /etc/passwd

more /etc/passwd

👀 应用:快速浏览系统用户列表,确认格式是否正确。


🧱 场景二:查看日志文件部分内容(如 /var/log/syslog

more /var/log/syslog

👀 应用:排查服务器错误日志,但只关注前半部分。


🧱 场景三:配合 cat 查看长命令输出

cat /var/log/auth.log | more

👀 应用:防止日志刷屏,便于逐页查看。


🧱 场景四:查看命令输出结果(如 ps, ls, dmesg

dmesg | more

👀 应用:查看内核启动日志,排查硬件驱动问题。


🧱 场景五:脚本中限制输出长度(防止卡顿)

ps aux | head -n 20 | more

👀 应用:控制输出量,避免一次性输出过多数据导致终端无响应。


4. more vs less 对比 🆚

特性 more less
是否支持向上滚动
是否支持搜索 ✅(/keyword
是否支持跳转 ✅(g, G, :n
使用体验 基础、简单 高级、强大
推荐程度 ⚠️ 旧系统保留命令 ✅ 现代系统首选

📌 总结一句话:

moreless 的前身,功能有限,但在没有安装 less 的老系统上仍然可用。


5. 不同 Linux 发行版对比 🖥️🐧

对比项 Ubuntu CentOS EulerOS
默认是否安装 more
是否推荐使用 more
root 用户权限限制 sudo 制度严格 su 更常见 政企级安全强化

⚠️ 小贴士:虽然所有发行版都自带 more,但官方文档和社区更推荐使用 less 进行文本查看。


6. 常见问题与解决方案 ❗

❌ 错误 1:文件不存在或无权限访问

more: cannot open file.txt for reading: No such file or directory

解决

ls -l file.txt

确认文件是否存在及权限。


❌ 错误 2:终端卡死或输出太快无法阅读

原因:尝试加载超大文件
解决

head -n 50 bigfile.log | more

限制查看行数。


❌ 错误 3:只能向下滚动,无法回退查看

原因more 不支持向上翻页
解决

less file.txt

改用 less


7. 小技巧 & 高效用法 🚀

  • Tab 补全:输入部分文件名后按 Tab 键自动补全。
  • 历史记录:使用上下箭头键查看之前执行过的命令。
  • 配合变量使用(脚本中):
LOG="/var/log/syslog"
more "$LOG"
  • 快速查看多个文件的开头部分
more file1.txt file2.txt

会依次显示每个文件内容。


8. 实战练习题 🧪

🔍 练习 1:

请写出以下命令的作用:

dmesg | grep -i eth | more

📝 答案:

dmesg 输出中包含 “eth” 的行通过 more 分页查看,常用于排查网卡相关问题。


🔍 练习 2:

编写一个脚本 view_logs.sh,实现以下功能:

  • 接收一个日志路径作为参数
  • 如果该日志存在,则使用 more 查看
  • 否则提示“日志文件不存在”

📝 答案:

#!/bin/bash
LOGFILE=$1

if [ -f "$LOGFILE" ]; then
    more "$LOGFILE"
else
    echo "日志文件不存在:$LOGFILE"
fi

使用方法:

chmod +x view_logs.sh
./view_logs.sh /var/log/syslog

总结 📋

虽然 more 是一个较老的文本分页工具,但它依然适用于快速查看中等大小的文本内容,尤其是在没有安装 less 的老旧系统中。

掌握 more 的基本用法,理解其局限性,并能根据实际需求选择更合适的工具(如 less),是构建高效 Linux 工作流的重要一步。

建议多与 cat, head, tail, grep, dmesg, awk, sed 等命令配合使用,形成完整的文本处理流程,打造属于你的 Linux 工作流。

posted @ 2025-06-19 22:20  红尘过客2022  阅读(119)  评论(0)    收藏  举报