在Linux中如何快速压缩文件

时间:2019-04-29 03:17:53  来源:igfitidea点击:

可以使用Pigz并行压缩。Pigz是GZip Parallel并行实现的缩写。这是一个漂亮的压缩工具,可以帮助你以惊人的速度压缩文件。作为对旧的gzip实用程序的改进,它利用多核和处理器来压缩数据。

在Linux系统上安装Pigz

$ sudo apt install pigz  ### Debian/Ubuntu
$ sudo dnf install pigz  ### CentOS/RHEL/Fedora
$ sudo pacman -S pigz   #### Arch/Manjaro Linux 

如何使用Pigz压缩文件

压缩单个文件

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

$ ls
ubuntu-20.04-beta-desktop-amd64.iso.gz

保留原来的文件

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

$ ls
ubuntu-20.04-beta-desktop-amd64.iso
ubuntu-20.04-beta-desktop-amd64.iso.gz

检查压缩文件

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

compressed original reduced name
2773383  2937323  2.4%  ubuntu.tar

指定压缩级别

压缩级别:

  • 6 -默认压缩。
  • 1 -最快,但提供最少的压缩。
  • 9 -最慢但最好的压缩。
  • 0 -无压缩。
$ pigz -9 ubuntu-20.04-beta-desktop-amd64.iso

如何使用Pigz压缩目录

Pigz只能压缩单个文件。要压缩目录,我们可以先用tar打包。

压缩目录dir

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

压缩时如何限制pigz使用CPU内核的数量

指定最多使用4个处理器:

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

如何使用Pigz解压文件

使用 -d选项 ,或者 unpigz命令

$ pigz -d ubuntu-20.04-beta-desktop-amd64.iso.gz
或者
$ unpigz dir1.tar.gz

Pigz和Gzip的比较

我们来看下压缩时间对比

$ time gzip ubuntu-20.04-beta-desktop-amd64.iso
real 4m23.703s
user 2m32.392s
sys 0m5.832s

$ time pigz ubuntu-20.04-beta-desktop-amd64.iso
real 3m63.703s
user 3m02.392s
sys 0m7.832s

Pigz要比gzip快。