Linux 提供了多个用于处理压缩文件的命令,例如 zcat、zless 和 zmore。
本教程将深入探讨这些命令的用法,让您可以导航和检查压缩文件,而无需解压缩它们。
下表总结了这 3 种工具之间的差异:
Tool |
Description |
Primary Use(s) |
Interactive |
Searching Capabilities |
zcat |
Displays compressed file content to stdout. |
Quick content viewing, Piping data. |
No |
No (unless piped) |
zless |
Interactive viewer for compressed files. |
Deep dives into file content with scrolling, searching, and line jumps. |
Yes |
Yes |
zmore |
Simple pager for compressed files. |
Basic page-by-page viewing of gzipped content. |
Somewhat |
No |
zcat简介
zcat
类似于标准cat
命令但旨在读取gzip压缩文件。
默认情况下,zcat
解压缩数据并将结果写入标准输出。
$ zcat file.txt.gz
当您运行此命令时,压缩的内容file.txt.gz
终端上显示。
如果您尝试使用cat
在 gzip 压缩的文件中,你会得到乱码,因为cat
不知道如何即时解压。
何时使用 zcat 来解压文件
Using zcat
有其优点,特别是在处理大型压缩文件时。
-
节省空间:如果磁盘空间不足,解压缩大文件可能不可行。和
zcat
,您可以直接查看内容,无需解压版本的额外空间。
-
节省时间:解压缩文件需要时间。通过使用
zcat
,您可以直接访问内容,跳过解压过程。
强制读取文件
zcat
提供了一个选项-f
强制读取文件,即使它们没有压缩。
当您混合有压缩文件和未压缩文件并且想要使用单个命令读取它们时,这非常有用。
$ zcat -f *.log
如果 *.log 包含 gzip 压缩日志文件和纯文本日志文件的混合,则这将解压缩 gzip 压缩日志文件并原封不动地传递纯文本日志文件。
使用管道过滤输出
您可以通过管道输出zcat
用于过滤、搜索或其他操作的其他命令。
$ zcat file.txt.gz | grep "search_term"
使用此命令,您可以直接在压缩文件中搜索包含“search_term”的行。
此方法非常有效,因为它允许您在压缩文件内部进行搜索,而无需解压缩它们。
zless简介
zless
是压缩文件的交互式寻呼机。这非常类似于less
命令,但专门用于读取 gzip 压缩文件。
$ zless file.txt.gz
该命令打开压缩包file.txt.gz
在交互式查看模式下,允许您滚动浏览其内容。
zless
允许您交互式地检查压缩内容。
滚动、搜索、跳转到行号
在 - 的里面zless
环境中,您拥有一组丰富的控件:
-
滚动:使用箭头键逐行滚动或使用空格键逐页滚动。
-
正在搜索:要查找特定术语,请输入
/
接下来是您的搜索词。按n
移动到下一个出现的位置并且N
对于前一个。
-
跳转到行号:输入所需的行号,然后输入
G
直接跳到该行。
这些控件反映了less
,确保在查看压缩文件和未压缩文件之间切换时的无缝体验。
配置和定制
zless
允许您配置您的观看体验:
-
更改显示颜色:您可以设置
LESS_TERMCAP
环境变量来自定义配色方案。例如,将搜索突出显示设置为蓝色:
export LESS_TERMCAP_so=$(tput setaf 4)
-
自定义按键绑定: While
zless
默认值对于许多人来说已经足够了,您可能更喜欢一组自定义的键绑定。通过设置LESSKEY
将环境变量添加到键绑定文件中,您可以定义您的个人快捷方式。
-
设置默认选项:如果您发现自己总是使用特定的
less
选项,您可以将它们设为默认值zless
通过将它们导出到LESS
环境变量。例如:
export LESS='-N -g'
Here, -N
显示行号,以及-g
仅突出显示最后一个搜索模式。
兹莫简介
zmore
提供了另一种检查压缩文件的方法,用作简单的寻呼机。不像zless
, zmore
提供基本的寻呼功能。
$ zmore file.txt.gz
执行上述命令将显示压缩后的部分内容file.txt.gz
在您的终端上。当到达显示部分的末尾时,按space
查看文件的更多内容。
zmore
为 gzip 压缩文件提供了简单的“更多”功能,因此具有命名约定。
滚动、搜索和其他基本控件
zmore
被设计为一个简单的工具,因此,与zless
。以下是您将使用的主要控件:
-
滚动: Press
space
滚动到文件的下一部分。
-
正在搜索:不幸的是,直接应用内搜索本身不支持
zmore
像zless
。但是,将其与其他工具结合使用(例如,zgrep
)可以帮助搜索。
-
Exit:退出
zmore
,只需按q
.
While zmore
可能看起来很简单,但当您只需要快速浏览一下压缩文件而无需额外功能的开销时,它的简单性可能是一种资产。
与 zcat 或 zgrep 一起使用
zmore
可以与其他实用程序配合使用以增强其功能:
-
与 zcat 结合:为了快速查看和后续分页,您可以组合
zcat
with zmore
.
$ zcat file.txt.gz | zmore
这允许您首先将文件解压缩到标准输出,然后使用zmore
.
-
使用 zgrep 搜索: While
zmore
缺乏本地搜索,zgrep
填补了这一空白。要搜索然后翻阅结果:
$ zgrep "search_term" file.txt.gz | zmore
这样,您将看到包含“search_term”的行并可以翻阅它们。
选择正确的工具
选择正确的工具取决于手头的任务:
-
快速内容查看:如果您只需要快速显示压缩文件的全部内容,
zcat
是工具。
-
互动探索:要更深入地、交互式地深入了解内容,您可能需要滚动、搜索或跳转到特定行,
zless
是最好的选择。
-
基本分页:如果您正在寻找一种简单的方法来翻阅 gzip 压缩文件而不增加复杂性,
zmore
是选择。