more、less 和 most 的区别
创始人
2024-03-02 01:00:53
0

如果你是一个 Linux 方面的新手,你可能会在 morelessmost 这三个命令行工具之间产生疑惑。在本文当中,我会对这三个命令行工具进行对比,以及展示它们各自在 Linux 中的一些使用例子。总的来说,这几个命令行工具之间都有相通和差异,而且它们在大部分 Linux 发行版上都有自带。

我们首先来看看 more 命令。

more 命令

more 是一个老式的、基础的终端分页阅读器,它可以用于打开指定的文件并进行交互式阅读。如果文件的内容太长,在一屏以内无法完整显示,就会逐页显示文件内容。使用回车键或者空格键可以滚动浏览文件的内容,但有一个限制,就是只能够单向滚动。也就是说只能按顺序往下翻页,而不能进行回看。

更正

有的 Linux 用户向我指出,在 more 当中是可以向上翻页的。不过,最原始版本的 more 确实只允许向下翻页,在后续出现的较新的版本中也允许了有限次数的向上翻页,只需要在浏览过程中按 b 键即可向上翻页。唯一的限制是 more 不能搭配管道使用(如 ls | more)。(LCTT 译注:此处原作者疑似有误,译者使用 more 是可以搭配管道使用的,或许与不同 more 版本有关)

q 即可退出 more

更多示例

打开 ostechnix.txt 文件进行交互式阅读,可以执行以下命令:

$ more ostechnix.txt

在阅读过程中,如果需要查找某个字符串,只需要像下面这样输入斜杠(/)之后接着输入需要查找的内容:

/linux

n 键可以跳转到下一个匹配的字符串。

如果需要在文件的第 10 行开始阅读,只需要执行:

$ more +10 file

就可以从文件的第 10 行开始显示文件的内容了。

如果你需要让 more 提示你按空格键来翻页,可以加上 -d 参数:

$ more -d ostechnix.txt

如上图所示,more 会提示你可以按空格键翻页。

如果需要查看所有选项以及对应的按键,可以按 h 键。

要查看 more 的更多详细信息,可以参考手册:

$ man more

less 命令

less 命令也是用于打开指定的文件并进行交互式阅读,它也支持翻页和搜索。如果文件的内容太长,也会对输出进行分页,因此也可以翻页阅读。比 more 命令更好的一点是,less 支持向上翻页和向下翻页,也就是可以在整个文件中任意阅读。

在使用功能方面,lessmore 命令具有更多优点,以下列出其中几个:

  • 支持向上翻页和向下翻页
  • 支持向上搜索和向下搜索
  • 可以跳转到文件的末尾并立即从文件的开头开始阅读
  • 在编辑器中打开指定的文件

更多示例

打开文件:

$ less ostechnix.txt

按空格键或回车键可以向下翻页,按 b 键可以向上翻页。

如果需要向下搜索,在输入斜杠(/)之后接着输入需要搜索的内容:

/linux

n 键可以跳转到下一个匹配的字符串,如果需要跳转到上一个匹配的字符串,可以按 N 键。

如果需要向上搜索,在输入问号(?)之后接着输入需要搜索的内容:

?linux

同样是按 n 键或 N 键跳转到下一个或上一个匹配的字符串。

只需要按 v 键,就会将正在阅读的文件在默认编辑器中打开,然后就可以对文件进行各种编辑操作了。

h 键可以查看 less 工具的选项和对应的按键。

q 键可以退出阅读。

要查看 less 的更多详细信息,可以参考手册:

$ man less

most 命令

most 同样是一个终端阅读工具,而且比 moreless 的功能更为丰富。most 支持同时打开多个文件。你可以在打开的文件之间切换、编辑当前打开的文件、迅速跳转到文件中的某一行、分屏阅读、同时锁定或滚动多个屏幕等等功能。在默认情况下,对于较长的行,most 不会将其截断成多行显示,而是提供了左右滚动功能以在同一行内显示。

更多示例

打开文件:

$ most ostechnix1.txt

e 键可以编辑当前文件。

如果需要向下搜索,在斜杠(/)或 Sf 之后输入需要搜索的内容,按 n 键就可以跳转到下一个匹配的字符串。

如果需要向上搜索,在问号(?)之后输入需要搜索的内容,也是通过按 n 键跳转到下一个匹配的字符串。

同时打开多个文件:

$ most ostechnix1.txt ostechnix2.txt ostechnix3.txt

在打开了多个文件的状态下,可以输入 :n 切换到下一个文件,使用 键选择需要切换到的文件,按回车键就可以查看对应的文件。

要打开文件并跳转到某个字符串首次出现的位置(例如 linux),可以执行以下命令:

$ most file +/linux

h 键可以查看帮助。

按键操作列表

移动:

  • 空格键或 D 键 – 向下滚动一屏
  • DELETE 键或 U 键 – 向上滚动一屏
  • 键 – 向下移动一行
  • 键 – 向上移动一行
  • T 键 – 移动到文件开头
  • B 键 – 移动到文件末尾
  • > 键或 TAB 键 – 向右滚动屏幕
  • < 键 – 向左滚动屏幕
  • 键 – 向右移动一列
  • 键 – 向左移动一列
  • J 键或 G 键 – 移动到某一行,例如 10j 可以移动到第 10 行
  • % 键 – 移动到文件长度某个百分比的位置

窗口命令:

  • Ctrl-X 2Ctrl-W 2 – 分屏
  • Ctrl-X 1Ctrl-W 1 – 只显示一个窗口
  • O 键、Ctrl-X O – 切换到另一个窗口
  • Ctrl-X 0 – 删除窗口

文件内搜索:

  • S 键或 f 键或 / 键 – 向下搜索
  • ? 键 – 向上搜索
  • n 键 – 跳转到下一个匹配的字符串

退出:

  • q 键 – 退出 most ,且所有打开的文件都会被关闭
  • :N:n – 退出当前文件并查看下一个文件(使用 键、 键选择下一个文件)

要查看 most 的更多详细信息,可以参考手册:

$ man most

总结

more – 传统且基础的分页阅读工具,仅支持向下翻页和有限次数的向上翻页。

less – 比 more 功能丰富,支持向下翻页和向上翻页,也支持文本搜索。在打开大文件的时候,比 vi 这类文本编辑器启动得更快。

most – 在上述两个工具功能的基础上,还加入了同时打开多个文件、同时锁定或滚动多个屏幕、分屏等等大量功能。

以上就是我的介绍,希望能让你通过我的文章对这三个工具有一定的认识。如果想了解这篇文章以外的关于这几个工具的详细功能,请参阅它们的 man 手册。


via: https://www.ostechnix.com/the-difference-between-more-less-and-most-commands/

作者:SK 选题:lujun9972 译者:HankChow 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

DeepSeek开源周on...
三言科技消息 在DeepSeek连续五天推出开源代码库后,今天又推...
2025-03-01 14:20:55
B站个人空间的视频列表是如...
如何在B站个人空间中实现视频列表的分页,也是一个关键的技术问题。一...
2025-01-12 23:01:48
B站个人空间的视频列表是如...
在B站个人空间的视频列表中,当视频数目超过某一阈值时,会进行分页展...
2025-01-12 23:01:44
B站个人空间的视频列表是如...
B站个人空间的视频列表是如何进行分页的,有可能是通过Ajax技术来...
2025-01-12 23:01:38
B站个人空间的视频列表是如...
B站个人空间如何实现视频列表的分页?分页功能的实现是否运用了特定的...
2025-01-12 23:01:27
B站个人空间的视频列表的分...
B站个人空间的视频列表如何进行分页,其实内部原理是通过前端利用Ja...
2025-01-12 23:01:13

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...