网站搜索

如何在 Linux 中使用 Pigz 工具更快地压缩文件


PigzMark Adler 编写,是GZip并行实现的缩写。这是一个很棒的压缩工具,可以帮助您以极快的速度压缩文件。作为旧的 gzip 实用程序的改进,它利用多个内核和处理器来压缩数据。

本指南对 Pigz 进行了更多介绍,并引导您了解如何使用该实用程序在 Linux 系统中压缩文件。

在 Linux 系统上安装 Pigz

安装 Pigz 非常简单,因为 Pigz 软件包包含在主要发行版(例如 DebianCentOS)的官方存储库中

您可以使用各个发行版各自的包管理器在单个命令中安装 Pigz,如下所示。

sudo apt install pigz  [On Debian/Ubuntu]
sudo dnf install pigz  [On CentOS/RHEL/Fedora]
sudo pacman -S pigz    [On Arch/Manjaro Linux] 
OR
yay -S pigz

如何使用 Pigz 压缩文件

要将单个文件压缩为 zip 格式,请使用以下语法。

pigz filename

在本指南中,我们将使用文件 ubuntu-20.04-beta-desktop-amd64.iso 进行演示。要压缩文件,请执行:

pigz ubuntu-20.04-beta-desktop-amd64.iso

但是,您可能已经注意到,该命令会在压缩时删除原始文件。要在压缩后保留原始文件,请使用 -k 选项运行,如图所示。

pigz -k ubuntu-20.04-beta-desktop-amd64.iso

从输出中,我们可以清楚地看到,即使压缩后,原始文件仍然保留。

在Linux中检查压缩文件的内容

要检查压缩文件的内容,包括所实现的压缩比的统计信息,请使用 pigz 命令中的 -l 选项:

pigz -l ubuntu-20.04-beta-desktop-amd64.iso.gz

从输出中,您不仅可以看到压缩文件的内容,还可以看到压缩百分比,在本例中为 1.9%

此外,您还可以使用从 19 的各种压缩级别。支持以下压缩级别:

  • 6 – 默认压缩。
  • 1 – 速度最快,但压缩率最低。
  • 9 – 最慢但压缩效果最好。
  • 0 – 无压缩。

例如,要使用最佳压缩级别压缩文件,请执行:

pigz -9 ubuntu-20.04-beta-desktop-amd64.iso

如何使用 Pigz 压缩目录

Pigz 本身没有压缩文件夹的选项,它只压缩单个文件。作为解决方法,pigz 与 tar 命令结合使用来压缩目录。

要压缩目录,请使用 --use-compress-program 参数,如下所示:

tar --use-compress-program="pigz -k " -cf dir1.tar.gz dir1

如何在压缩时限制处理器数量

我们之前提到,pigz实用工具在压缩文件时使用多个内核和处理器。您可以使用 -p 选项指定要使用的核心数量。

在下面的示例中,我们使用了 4 处理器 (-p4) 的最佳压缩(用 -9 表示),同时保留了原始压缩文件(-k)

pigz -9 -k -p4 ubuntu-20.04-beta-desktop-amd64.iso

如何使用 Pigz 解压文件

要使用 Pigz 解压缩文件或目录,请使用 -d 选项或 unpigz 命令。

使用我们的压缩 ISO 文件,命令将是:

pigz -d ubuntu-20.04-beta-desktop-amd64.iso
OR
unpigz dir1.tar.gz

Pigz 与 Gzip 的比较

我们更进一步,将 PigzGzip 工具进行了比较。

结果如下:

Gzip 压缩

time gzip ubuntu-20.04-beta-desktop-amd64.iso

Pigz 压缩

time pigz ubuntu-20.04-beta-desktop-amd64.iso

Gzip解压

time gzip -d ubuntu-20.04-beta-desktop-amd64.iso.gz

小猪减压

time unpigz ubuntu-20.04-beta-desktop-amd64.iso.gz

从比较中我们可以清楚地看到Pigz的压缩和解压时间比Gzip要短得多。这意味着 Pigz 命令行工具比 Gzip 工具快得多

有关使用 pigz 命令的更多详细信息,请访问手册页。

man pigz

此外,运行以下命令可查看可与 pigz 命令一起使用的所有选项。

pigz --help

现在你就得到了它。我们介绍了 pigz 命令行工具,并向您展示了如何压缩和解压缩文件。我们进一步将PigzGzip进行了比较,发现Pigz在压缩和解压缩速度方面是两者中更好的。我们邀请您尝试一下并告诉我们效果如何。