在 Linux 中使用档案很容易。 有一些命令可以为您处理几乎所有的存档类型。 Linux 中的 gzip 命令就是这样一种命令。 如果没有任何参数,gzip 命令将自动压缩您在命令之后指定的文件。
压缩是当今时代的一种常见做法。 当我们需要传输大量数据时,压缩会派上用场,因为压缩文件可以更快地共享或复制。 与非压缩文件相比,这些文件通过 Internet 下载所需的时间也更少。 每个人都希望以压缩格式处理数据。
这些功能使文件压缩成为一种流行的做法。 有许多工具可用于压缩和解压缩文件。 这些工具可帮助用户在处理文件时优化其存储空间使用和网络使用。 流行的数据压缩工具是 Linux 中的 Gzip 命令。
目录
- 什么是gzip?
- Linux 中 gzip 命令的基础知识
- 如何在 Linux 中使用 gzip 命令压缩文件?
- 检查压缩文件统计
- 压缩后保留原始文件
- 在 Linux 中使用 gzip 命令设置压缩级别
- 解压缩/解压缩 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>
注意“helloWorld”文件是如何从 2MB 到 1012KB 在我们使用 gzip 压缩它之后。 但是有一个问题。 gzip 命令不理解是否要压缩多个文件。
在这种情况下,您需要将这些多个文件压缩为 tar 格式,然后将其压缩为 gz。 这就是我们有 tar.gz 文件的原因。
检查压缩文件统计
要检查压缩和未压缩文件的大小,您可以使用 -l
命令选项。
root@ubuntu:~# gzip -l helloWorld.gz compressed uncompressed ratio uncompressed_name 1035475 2008801 48.5% helloWorld
大小和压缩比显示在这里。 您可以使用星号通配符为目录中的所有 gzip 文件显示相同的数据。
压缩后保留原始文件
正如您在上面看到的,原始文件在压缩后丢失了。 但是如果你想在压缩完成后保留原始文件,你可以使用 -k
选项。
gzip -k <filename>
在 Linux 中使用 gzip 命令设置压缩级别
默认情况下,Linux 中的 gzip 命令执行 6 级压缩,但允许我们根据速度或压缩质量指定压缩级别。
压缩级别范围从 1 到 9,其中级别 1 提供最快的压缩速度,而级别 9 提供最高的压缩比。
让我们看看当我们用 9 级压缩压缩我们的 helloWorld 文件时是否有任何区别。
gzip -9 <filename>

由于文件已经很小,因此压缩差异也很小。 默认情况下,压缩生成一个 1012K 的文件。 最好的压缩,现在是 1007K。 当您处理大文件时,这种差异非常明显。
现在我们知道了如何压缩文件,让我们学习在 Linux 中使用 gzip 命令解压缩文件。
解压缩/解压缩 Gzip 文件
压缩文件后,不能只重命名文件并删除 .gz 扩展名来检索原始文件。 我们需要解压文件。 要解压文件,我们可以使用 -d 选项。
gzip -d <filename>.gz

解压后保留压缩文件
好的,现在类似于压缩问题,解压缩文件会删除我们作为输入传递的文件的原始压缩版本。 我们如何解决这个问题? 我们再次使用 -k 选项。
gzip -dk <filename>.gz
这将在 Linux 中使用 gzip 命令解压缩文件时保持压缩文件的完整性。
压缩和解压缩整个目录
到目前为止,我们一直在处理单个文件。 当你想保存整个目录的磁盘大小时,你需要使用 -r 代表递归的选项。 许多 Linux 命令中的一个常见选项,表示我们正在使用目录。
gzip -r <directory> # Compress gzip -dr <directory> # Decompress
这将压缩或解压缩目录中的所有文件,如下所示:

在上面的截图中,我已经压缩和解压了整个目录。 如您所见,目录中的两个文件被压缩到较小的大小,然后再解压缩。
结论
存储空间和网络带宽是任何系统中最有价值的两种资源。 当您存储一些文件或通过网络传输它们时,您不希望投入比您需要的更多的资源。 使用正确的压缩方法可以大大降低您的要求。 Linux 中的 GZIP 命令是一个巨大的工具,可帮助您为数据创建和管理压缩档案。
Linux 中的 gzip 命令非常简单。 如果您有兴趣了解有关该命令的更多信息,可以使用 man 命令阅读手册页。 如果您对 Linux 中的 gzip 命令有任何疑问,请在下面的评论中告诉我们。