more、less 和 most 的区别
======
![](https://www.ostechnix.com/wp-content/uploads/2018/11/more-less-and-most-commands-720x340.png)

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

我们首先来看看 `more` 命令。

### more 命令

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

![](https://www.ostechnix.com/wp-content/uploads/2018/11/more-command-demo.gif)

**更正**

有的 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
```

![][2]

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

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

要查看 `more` 的更多详细信息，可以参考手册：

```
$ man more
```

### less 命令

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

![][4]

在使用功能方面，`less` 比 `more` 命令具有更多优点，以下列出其中几个：

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

**更多示例**

打开文件：

```
$ less ostechnix.txt
```

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

如果需要向下搜索，在输入斜杠（`/`）之后接着输入需要搜索的内容：

```
/linux
```

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

如果需要向上搜索，在输入问号（`?`）之后接着输入需要搜索的内容：

```
?linux
```

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

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

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

按 `q` 键可以退出阅读。

要查看 `less` 的更多详细信息，可以参考手册：

```
$ man less
```

### most 命令

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

**更多示例**

打开文件：

```
$ most ostechnix1.txt
```

![](https://www.ostechnix.com/wp-content/uploads/2018/11/most-command.png)

按 `e` 键可以编辑当前文件。

如果需要向下搜索，在斜杠（`/`）或 `S` 或 `f` 之后输入需要搜索的内容，按 `n` 键就可以跳转到下一个匹配的字符串。

![][3]

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

同时打开多个文件：

```
$ most ostechnix1.txt ostechnix2.txt ostechnix3.txt
```

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

![](https://www.ostechnix.com/wp-content/uploads/2018/11/most-2.gif)

要打开文件并跳转到某个字符串首次出现的位置（例如 linux），可以执行以下命令：

```
$ most file +/linux
```

按 `h` 键可以查看帮助。

**按键操作列表**

移动：

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

窗口命令：

  * `Ctrl-X 2`、`Ctrl-W 2` – 分屏
  * `Ctrl-X 1`、`Ctrl-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][a]
选题：[lujun9972][b]
译者：[HankChow](https://github.com/HankChow)
校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出

[a]: https://www.ostechnix.com/author/sk/
[b]: https://github.com/lujun9972
[1]: data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7
[2]: http://www.ostechnix.com/wp-content/uploads/2018/11/more-1.png
[3]: http://www.ostechnix.com/wp-content/uploads/2018/11/most-1-1.gif
[4]: https://www.ostechnix.com/wp-content/uploads/2018/11/less-command-demo.gif
