以下介绍了 Linux 命令行中三个用于查看文本内容的核心工具:cat、more 和 less。下面我将逐部分帮你深入理解它们的用途、区别和最佳实践。
🧾 1. cat --- 快速显示短文件
作用 :
cat(全称 concatenate )主要用于一次性输出整个文件内容到终端。
bash
cat /etc/fstab
-
✅ 适合场景:文件较短(比如配置文件、小日志),能完整显示在屏幕上。
-
❌ 不适合:大文件(如日志、内核消息),因为内容会"哗啦"一下滚屏过去,根本来不及看。
-
💡 小知识:
cat也可以合并多个文件:bashcat file1.txt file2.txt > combined.txt
📖 2. more --- 分页查看(只能往下翻)
作用 :
more让你一页一页地向下浏览文件内容。
bash
more dmesg.txt
- 操作方式:
- 按 空格键(Space) → 翻到下一页
- 按 回车(Enter) → 向下一行
- 按 q → 退出
- ⚠️ 重大限制 :不能向上滚动!一旦翻过一页,就回不去了。
- 所以它适合"从头到尾线性阅读"的场景,但交互性差。
📝 示例中用
sudo dmesg >> dmesg.txt创建了一个长文件(内核日志),正是为了展示cat的不足和more的价值。
🔍 3. less --- 更强大的分页查看器(可上可下)
作用 :
less是more的"升级版",名字其实是程序员幽默 ------ "less is more"。
bash
less dmesg.txt
- 操作方式更灵活:
- ↑ / ↓ 方向键:上下滚动
- 空格键:下一页
- b 键:上一页(back)
- /keyword:搜索关键词(按 n 跳转下一个)
- q:退出
- ✅ 优势 :
- 支持双向滚动
- 启动快(不需要读完整个文件)
- 支持搜索、跳转行号等高级功能
- 💡 实际上,
less是现代 Linux 系统中最推荐的文本查看工具。
🚫 4. 不要写 cat file | more(常见误区!)
很多人习惯写:
bashcat file.txt | less但这是多余的!
✅ 正确做法:
bash
less file.txt # 直接让 less 读文件
more /etc/passwd # more 也能直接读
more和less本身就能打开文件,无需cat中转。- 多此一举不仅浪费资源,还显得不够专业(老手一看就知道是新手写法 😅)。
🔗 5. 与管道(|)结合使用
虽然不需要 cat,但 more/less 非常适合和其它命令配合:
bash
sudo dmesg | less # 查看实时内核日志
ps aux | less # 浏览进程列表
grep "error" log.txt | less # 查看过滤后的错误日志
- 这时
less接收的是命令的输出流,而不是文件,非常有用! - 特别是在处理大量输出时,
| less几乎是标配。
🧹 6. 清理测试文件
bash
rm dmesg.txt
- 养成好习惯:练习完记得清理临时文件,保持系统整洁。
✅ 总结对比表
| 命令 | 适用场景 | 能否翻页 | 能否回滚 | 能否搜索 | 是否推荐 |
|---|---|---|---|---|---|
cat |
短文件、脚本输出 | ❌ 一次性输出 | ❌ | ❌ | ✅(短文件) |
more |
长文件(只读一遍) | ✅ | ❌ | 有限 | ⚠️(老旧) |
less |
任何文本查看需求 | ✅ | ✅ | ✅ | ✅✅✅(首选) |
💡 最佳实践建议
- 日常查看文件 → 优先用
less filename - 快速看小配置 → 用
cat /etc/hosts - 查看命令输出 → 用
command | less - 永远不要写
cat file | less,除非你真的需要先拼接多个文件再查看。
通过掌握这三个命令的区别和用法,你就已经迈出了高效使用 Linux 命令行的重要一步!