Linux中的更多,更少和大多数之间的差异
1. 概述
在 Linux 中查看文件内容时,我们可能会受益于一些交互功能来帮助我们。我们可能需要查看正在查看的文件的统计信息,标记特定行然后返回到该行,或者在文件更新时查看文件的内容。
在本教程中,我们将简要讨论Linux 中使用的三种终端 的用法和区别。
终端用于逐页和逐行查看文件。我们将探索其中的三个:more、less和most。它们都具有类似的功能,例如同时查看多个文件,但每个文件都有一个突出的功能或优势,可能会让我们考虑使用它。
2. 用法
我们可以通过传递一个或多个文件名来使用所有工具:
more file1.txt file2 file3
less file1.txt file2 file3
most file1.txt file2 file3
要退出任何工具,我们可以按q或ctrl+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读取png、 jpeg或jpg文件,它只会打印其二进制数据,而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允许我们在它们之间切换。但是,more和less都以相同的选项显示所有打开的文件。
最后,如果我们想用不同的选项打开多个文件,或者在查看文件时在状态栏上查看更多信息,那么most是一个不错的选择,但可能需要在我们的 Linux 环境中安装。