插件窝 干货文章 linux中less和more的区别有哪些

linux中less和more的区别有哪些

支持 行号 文件 less 958    来源:    2025-05-03

在Linux中,lessmore 都是常用的分页查看文本文件的工具,但它们在功能上有显著区别。以下是两者的主要差异:


1. 导航能力

  • more
    • 仅支持向前导航:只能向下翻页(空格键)或逐行查看(回车键),无法回退到上一页。
    • 到达文件末尾时会自动退出。
  • less
    • 支持双向导航:可向前(空格键/PgDn)或向后(b键/PgUp)翻页,还支持上下箭头逐行滚动。
    • 允许自由浏览整个文件,不会自动退出。

2. 搜索功能

  • more
    • 支持基础的向前搜索(按/后输入关键词),但无法反向搜索。
  • less
    • 支持双向搜索
    • 向前搜索:/关键词(按n跳转到下一个匹配项)。
    • 向后搜索:?关键词(按N跳转到上一个匹配项)。

3. 大文件处理

  • more
    • 会立即加载整个文件,可能对超大文件(如GB级)产生性能问题。
  • less
    • 惰性加载:只加载当前显示的部分内容,处理大文件更高效。

4. 其他功能对比

功能 more less
行号显示 不支持 支持(-N参数)
自定义标记位置 不支持 支持(按m+字母标记,'+字母返回)
支持管道输入
退出后保留屏幕内容 是(-X参数)
支持正则表达式高亮 是(需配合lesspipe等工具)

5. 使用场景建议

  • more 的情况
    • 快速查看小文件且无需回退。
    • 需要兼容老旧系统(某些Unix系统可能默认只有more)。
  • less 的情况
    • 需要双向浏览、搜索或查看大文件。
    • 需要更丰富的交互功能(如标记位置、行号等)。

6. 为什么推荐 less

  • lessmore 的增强版,几乎在所有场景下都更灵活。
  • Linux系统中通常通过man命令查看手册页时,底层实际调用的是less

示例命令

more +10 file.txt      # 从第10行开始查看(more)
less -N file.txt       # 显示行号查看(less)

总结:优先使用 less,除非环境限制或只需最简单的向前浏览。