Linux 中的 gzip 命令

在 Linux 中使用档案很容易。 有一些命令可以为您处理几乎所有的存档类型。 Linux 中的 gzip 命令就是这样一种命令。 在没有任何参数的情况下,gzip 命令将在命令之后自动压缩您指定的文件。

压缩是当今时代的常见做法。 当我们需要传输大量数据时,压缩就派上用场了,因为压缩文件的共享或复制速度更快。 与非压缩文件相比,这些文件通过 Internet 下载所需的时间也更少。 每个人都希望以压缩格式处理数据。

这些功能使文件压缩成为一种流行的做法。 有许多工具可用于压缩和解压缩文件。 这些工具帮助用户在处理文件时优化他们的存储空间使用和网络使用。 流行的数据压缩工具是 Linux 中的 Gzip 命令。

什么是gzip?

GZIP 是一种流行的文件压缩方法。 使用 GZIP 压缩的标准过程是获取多个文件并创建一个 tar 存档。 稍后,存档被压缩。 这利用文件的冗余来将文件压缩到比大多数其他压缩方法更小的尺寸。

在创建压缩存档时,它会保留有关文件所有权、模式和时间戳的详细信息。 GZIP 在一次压缩大量文件时效率最高。 在压缩存档大小方面,与 ZIP 压缩方法相比,GZIP 可以提供大约 10 倍的压缩。

Linux 中 gzip 命令的基础知识

理解任何命令的最好方法是理解它的语法。 Linux 中 GZIP 命令的语法如下所示。

gzip [option] [file] 

“文件”可以指用于压缩的未压缩文件或用于解压的压缩档案。 Linux 中的 GZIP 命令允许多个选项来指示您如何压缩和解压缩数据。 下面列出了 Linux 中 GZIP 命令提供的一些常用选项。

选项 影响
-F 此选项用于告诉 gzip 命令强制压缩文件,即使该文件的 .gz 存档已经存在。
-d 此选项用于告诉 gzip 命令解压缩 .gz 存档
-k 默认情况下,您使用 gzip 命令压缩的任何文件都将替换为同名的 .gz 存档。 此选项用于告诉 gzip 命令保留文件的原始未压缩版本,即使在为该文件创建了 .gz 存档之后也是如此。
-v 此选项用于告诉 gzip 命令在压缩文件时提供详细输出。
-r 此选项用于告诉 gzip 命令递归压缩当前目录及其子目录中存在的文件。
-L 此选项用于告诉 gzip 命令显示给定 .gz 存档的 GZip 许可证。

虽然此列表涵盖了 GZIP 命令中使用的所有基本选项,但您可以探索其他较少使用的选项以了解有关 Linux 中 GZIP 命令的更多信息。

如何在 Linux 中使用 gzip 命令压缩文件?

就像打字一样简单 压缩包 后跟文件名。 看看下面的语法:

gzip <filenames separated by spaces> 
Gzip 压缩

注意“helloWorld”文件是如何从 2MB1012KB 在我们使用 gzip 压缩它之后。 但是有一个问题。 gzip 命令无法识别您是否要压缩多个文件。

在这种情况下,您需要以 tar 格式压缩这些多个文件,然后将其压缩为 gz。 这就是为什么我们有 tar.gz 文件。

检查压缩文件统计

要检查压缩和未压缩文件的大小,您可以使用 -l 命令选项。

[email protected]:~# gzip -l helloWorld.gz           compressed        uncompressed  ratio uncompressed_name             1035475             2008801  48.5% helloWorld 

大小和压缩比显示在此处。 您可以使用星号通配符为目录中的所有 gzip 文件显示相同的数据。

压缩后保留原始文件

如上所示,原始文件在压缩后丢失了。 但是如果你想在压缩完成后仍然保留原始文件,你可以使用 -k 选项。

gzip -k <filename> 
Gzip 保留原始文件

在 Linux 中使用 gzip 命令设置压缩级别

默认情况下,Linux 中的 gzip 命令执行级别 6 压缩,但允许我们根据速度或压缩质量指定压缩级别。

压缩级别范围从 1 到 9,其中级别 1 提供最快的压缩速度,而级别 9 提供最高的压缩比。

让我们看看当我们使用 9 级压缩来压缩我们的 helloWorld 文件时是否有任何不同。

gzip -9 <filename> 
Gzip 9 级压缩Gzip 9 级压缩

由于文件已经很小,压缩差异也很小。 默认情况下,压缩会生成一个 1012K 的文件。 使用最佳压缩率,现在是 1007K。 当您处理大文件时,这种差异非常明显。

现在我们知道了如何压缩文件,让我们学习在 Linux 中使用 gzip 命令解压文件。

解压缩/解压缩 Gzip 文件

一旦你压缩了一个文件,你不能只是重命名文件并删除 .gz 扩展名来检索原始文件。 我们需要解压文件。 要解压缩文件,我们可以使用 -d 选项。

gzip -d <filename>.gz 
Gzip解压Gzip解压

解压后保留压缩文件

好的,现在与压缩问题类似,解压缩文件会删除我们作为输入传递的文件的原始压缩版本。 我们如何解决这个问题? 我们再次使用 -k 选项。

gzip -dk <filename>.gz 

这将在 Linux 中使用 gzip 命令解压缩文件时保持压缩文件完整。

压缩和解压缩整个目录

到目前为止,我们一直在处理单个文件。 当你想保存整个目录的磁盘大小时,你需要使用 -r 代表递归的选项。 许多 Linux 命令中的一个常见选项,用于表示我们正在处理目录。

gzip -r <directory>   # Compress  gzip -dr <directory>   # Decompress 

这将压缩或解压缩目录中的所有文件,如下所示:

Gzip 压缩目录Gzip 压缩目录

在上面的屏幕截图中,我压缩并解压了整个目录。 可以看到,目录中的两个文件都被压缩到了较小的大小,然后再进行解压。

结论

存储空间和网络带宽是任何系统中最宝贵的两种资源。 当您存储某些文件或通过网络传输它们时,您不希望投入过多的资源。 使用正确的压缩方法可以大大减少您的需求。 Linux 中的 GZIP 命令是一个强大的工具,可帮助您为数据创建和管理压缩档案。

Linux 中的 gzip 命令非常简单。 如果您有兴趣了解有关该命令的更多信息,可以使用 man 命令阅读手册页。 如果您对 Linux 中的 gzip 命令有任何疑问,请在下面的评论中告诉我们。