Contents

Linux中的更多,更少和大多数之间的差异

1. 概述

在 Linux 中查看文件内容时,我们可能会受益于一些交互功能来帮助我们。我们可能需要查看正在查看的文件的统计信息,标记特定行然后返回到该行,或者在文件更新时查看文件的内容。

在本教程中,我们将简要讨论Linux 中使用的三种终端 的用法和区别。

终端用于逐页和逐行查看文件。我们将探索其中的三个:morelessmost。它们都具有类似的功能,例如同时查看多个文件,但每个文件都有一个突出的功能或优势,可能会让我们考虑使用它。

2. 用法

我们可以通过传递一个或多个文件名来使用所有工具:

more file1.txt file2 file3
less file1.txt file2 file3
most file1.txt file2 file3

要退出任何工具,我们可以按qctrl+c

我们还可以通过管道 将另一个命令的输出作为输入:

history | less

3. 可用性

more 工具在大多数 Linux 和类 Unix 操作系统上都可用。less 也被广泛使用,但一些 Alpine Linux 发行版默认没有安装它。另一方面,most 情况下通常不会默认安装。

我们可以使用包管理器安装most。例如,在 Ubuntu 上,我们可以使用以下命令安装它:

apt install most

4. more

4.1. 使用more

**more 是 UNIX 生态系统中最古老的终端之一。**最初,more只能向下滚动,但现在我们可以使用它一次向上滚动一屏,向下滚动一行或一屏:

more filename.txt

一个示例输出是:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur sit amet 
--More--(1%)

在其状态栏上,more显示文件读取的百分比。当它到达文件末尾时它会自动关闭,而无需按下按钮。

4.2. 交互式命令

more有许多我们可以通过击键调用的交互式命令

  • 空格 - 根据终端的大小转到下一页
  • b – 返回一页
  • enter – 向下滚动一行
  • = – 显示当前行号
  • :v – 在当前行启动vi文本编辑器

5. less

引入less 的原因之一是允许逐行向后移动。它有很多类似于vi文本编辑器的命令,并且支持水平滚动、实时监控等。

5.1. 支持文件格式

** less支持不同的文件格式。**例如,如果我们尝试使用more读取pngjpegjpg文件,它只会打印其二进制数据,而less会打印其元数据:

less picture.jpg
picture.jpg JPG 743x533 743x533+0+0 8-bit sRGB 45.6KB

less支持其他文件格式,例如jar、war、zip、pdf、tar.gz、gif、png、tiff、tif和rar。

5.2. 打标

在阅读大文件时,我们可能希望在某些位置设置书签以便能够返回它们。

使用less ,我们可以通过按m后跟另一个字符来标记某行,例如A。我们可以通过按m后跟另一个字符(例如B )来标记另一行。然后,在我们滚动文件中的其他位置后,我们可以通过按撇号键*( ’ )*后跟我们用于标记的字符来返回到标记的行。

在这个例子中,我们可以通过输入’* A * 和*’ B*在我们的书签之间切换。

5.3. 监控

假设我们想在更新日志文件时查看它的内容,但我们不想一遍又一遍地重新运行它。我们可以通过按Shift+F键切换到查看文件的更新内容,或者通过添加*+F*标志执行命令:

less +F /var/log/syslog

6. most

most **允许我们同时查看多个文件并在它们之间切换。**这对于查看大型数据集非常有用,因为大多数数据集不会换行字符多于终端页面的行。相反,它会截断它们并提供逐列水平滚动。

6.1. 多个窗口

我们可以通过将文件作为参数传递给most来显示多个文件并在它们之间切换:

most text.txt file.txt
-- MOST: text.txt                                   (18,4) 5%

默认情况下,在读取文件时,状态栏会水平显示文件名、当前查看的百分比、当前行号和当前位置,因为我们可以通过左右键左右滚动。

我们可以通过按*:n在文件之间切换。然后,我们可以使用向上/向下箭头键更改文件名,然后按回车*键切换到选定的文件:

-- MOST: text.txt                                   (18,4) 5%
Next File (1): file.txt

我们可能还想以二进制模式读取一个文件,以非二进制模式读取另一个文件。** most允许我们以不同的模式查看不同的文件。*例如,我们可以在查看文件时通过按:后跟o来切换选项,然后我们可以通过按b*来切换二进制模式。

7. 比较工具

如果我们想要一个广泛可用的简单终端寻呼机,那么我们会选择more

但是,如果我们想使用vi文本编辑器的命令,并且更喜欢水平和垂直滚动更复杂的工具,那么less是一个不错的选择。

less可以选择一次查看多个文件。more允许我们将它们视为由行分隔的单个文件,而less允许我们在它们之间切换。但是,moreless都以相同的选项显示所有打开的文件。

最后,如果我们想用不同的选项打开多个文件,或者在查看文件时在状态栏上查看更多信息,那么most是一个不错的选择,但可能需要在我们的 Linux 环境中安装。