在 Linux 中使用 Gzip 命令的 13 个实际示例

压缩是用户非常常执行的操作,用于节省磁盘空间并减少时间和带宽,同时通过网络使用压缩包公用事业。

压缩包代表GNU 压缩包它是一种非常流行的压缩和解压缩实用程序。其受欢迎的主要原因之一是其高压缩比和速度,这意味着压缩数据在解压缩后保持不变。

压缩包命令使用 deflate 算法,这是一种无损数据压缩,与其他算法相比,它可以创建更小的文件大小,从而使文件传输速度更快。

在本指南中,我们将讨论压缩包Linux 中的命令用法和示例。

就像任何,gzip命令的语法分为两部分选项文件

$ gzip [OPTIONS]... [FILES]...

在上面的语法中,选项用于改变命令的行为,而文件代表输入文件。

1.在Linux中创建Gzip文件

最常见的用途之一压缩包命令是压缩一个大文件。通常会看到大型 ISO 文件或 tar 包被压缩以节省磁盘空间。

要压缩单个文件,我们只需将文件名传递给 gzip 命令即可。为了理解这一点,让我们使用以下命令来压缩 ISO 文件:

$ gzip alma-linux.iso

现在,让我们使用验证文件是否已被压缩:

$ ls -l
在 Linux 中创建 Gzip 文件

在上面的输出中,我们可以看到新的压缩文件的名称alma-linux.iso.gz。我们还可以观察到,默认情况下,gzip 命令添加了一个.gz压缩文件的扩展名。

2. 创建Gzip并保留原始文件

在前面的示例中,我们看到了压缩文件是多么容易。然而,如果我们仔细观察的话,我们就会发现,压缩包命令在压缩后删除原始文件。

然而,有时我们也想保留原始文件。在这种情况下,我们可以使用-k选项如图所示。

$ gzip -k alma-linux.iso
$ ls -l
Gzip 保留原始文件

在上面的输出中,我们可以看到即使压缩后原始文件也完好无损。

3.查看.gz文件的内容

查看压缩包的内容.gz文件,使用– 允许您在不解压缩的情况下查看压缩文件的内容。

要理解这一点,首先,使用以下命令创建一个简单的文本文件:

$ echo "zcat example from tecmint.com" > demo
$ gzip demo
$ ls -l
$ zcat demo
查看 Gzip 内容

在上面的输出中,我们可以看到显示压缩文件的内容而不解压缩它。

4.查看.gz文件的信息

有时,我们想要显示有关压缩文件的更多详细信息。在这种情况下,我们可以使用-l列出以下字段的选项:

  • 压缩尺寸– 它表示压缩文件的大小(以字节为单位)。
  • 未压缩的大小– 它表示未压缩文件的大小(以字节为单位)。
  • 比率– 它代表压缩比。
  • 未压缩名称– 它代表未压缩文件的名称。

为了理解这一点,让我们执行以下命令:

$ gzip -l alma-linux.iso.gz
查看 Gzip 文件信息

5. 无需确认即可覆盖Gzip文件

默认情况下,压缩包如果同名的压缩文件已存在,则命令以交互方式运行。为了理解这种默认行为,让我们执行与上一个示例相同的命令:

$ gzip -k alma-linux.iso
Gzip 文件覆盖确认

在这里,我们可以看到,压缩包命令等待用户输入。现在,我们可以使用'y'覆盖文件或'n'中止操作。

这种交互操作是安全的,可以避免误覆盖文件。然而,这并不适合每次。例如,如果我们正在执行压缩包如果来自脚本的命令,则脚本将无限期地等待用户输入。在这种情况下,我们可以使用-f强制覆盖文件的选项。

现在,让我们使用以下命令执行相同的命令-f选项:

$ gzip -f -k alma-linux.iso
Gzip 强制覆盖文件

在这里,我们可以看到 gzip 命令现在以非交互方式工作。

6. 使用 Gzip 压缩多个文件

到目前为止我们已经了解了如何压缩单个文件。以类似的方式,我们可以使用压缩包一次压缩多个文件的命令。

因此,首先,让我们使用以下命令创建文件的多个副本:

$ cp alma-linux.iso alma-linux-1.iso 
$ cp alma-linux.iso alma-linux-2.iso 
$ cp alma-linux.iso alma-linux-3.iso 

接下来,让我们使用以下命令压缩这三个文件:

$ gzip alma-linux-1.iso alma-linux-2.iso alma-linux-3.iso
$ ls -l
在 Linux 中创建多个 Gzip 文件

7.Gzip 目录中的所有文件

在前面的示例中,我们了解了如何压缩多个文件。以类似的方式,我们也可以压缩一个目录中的所有文件。

为了理解这一点,首先让我们并向其中添加一些文件:

$ mkdir dir-1
$ touch dir-1/file-1.txt dir-1/file-2.txt dir-1/file-3.txt

现在,让我们使用-r压缩所有文件的选项目录-1目录:

$ gzip -r dir-1/
$ ls -l dir-1/
压缩目录中的所有文件

在上面的例子中,-r选项以递归方式遍历目录。

8. 在 Linux 中解压 Gzip 文件

压缩包命令允许我们使用以下命令解压缩文件-d选项如图所示。

$ gzip -d alma-linux.iso.gz
$ ls -l
在 Linux 中解压 Gzip 文件

9. 将 Tar 文件压缩为 Gzip

在前面的两个示例中,我们了解了如何使用单个命令压缩多个文件。然而,我们也可以观察到,压缩包命令不会将这些文件压缩为单个文件。遇到这种情况,我们首先可以然后使用压缩它压缩包命令。

因此,首先,让我们创建一个包含多个文件的 tar 包:

$ tar cvf sample.tar alma-linux-1.iso alma-linux-2.iso
在 Linux 中创建 Tar 文件

现在,让我们使用以下命令压缩这个 tar 包:

$ gzip sample.tar
$ ls -l
将 Tar 文件压缩为 Gzip

10. 加速 gzip 压缩

到目前为止,我们使用了非常小的文件来演示 gzip 命令的用法。然而,在实际场景中,需要压缩的数据可能非常大。

在这种情况下,我们可以使用--fast减少压缩时间的选项。

$ gzip --fast alma-linux.iso

值得注意的是,--fast选项优先考虑压缩速度而不是比率。

11. 加快Gzip压缩率

以类似的方式,我们可以使用--best提高压缩比的选项。为了理解这一点,让我们执行以下命令:

$ gzip --best alma-linux.iso

在这里,我们需要注意的是,--best选项优先考虑压缩比而不是速度。

12. 设置 Gzip 压缩级别

我们可以使用整数参数压缩包命令来调节压缩速度。该范围的有效值在 1 到 9 之间。值 1 表示快速压缩,而值 9 表示最慢压缩。

例如,以下命令使用 2 作为参数来提高压缩速度:

$ gzip -2 alma-linux.iso 

需要注意的是,gzip 中的默认压缩级别是 -6。它更喜欢高压缩,但牺牲了速度。

13.更改Gzip文件扩展名后缀

默认情况下,压缩包命令使用.gz压缩后的文件后缀。但是,我们可以使用以下命令覆盖此默认行为--suffix选项。

例如我们可以使用下面的命令来使用压缩包作为后缀:

$ gzip --suffix .gnuzip alma-linux.iso
$ ls -l
更改 Gzip 文件扩展名

在上面的例子中,我们可以看到压缩文件有一个.gnuzip扩大。

结论

在本实用指南中,我们讨论了一些常见的示例压缩包Linux 中的命令可以更快地压缩和解压缩文件。

您知道 Linux 中 gzip 命令的其他最佳示例吗?请在下面的评论中告诉我们您的看法。