您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux

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

时间:2020-06-17 09:28:58  来源:  作者:

1. 前言

本文主要介绍如何在linux中使用Pigz工具更快地压缩文件。

Pigz是GZip并行实现的首字母缩写,由Mark Adler编写。它是一个极好的压缩工具,可以帮助您以惊人的速度压缩文件。作为对旧的gzip实用程序的改进,它利用多核心和多处理器来压缩数据。

本指南将更多地介绍Pigz,并介绍如何使用该实用程序在Linux系统中压缩文件。

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

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

2. 在Linux系统上安装Pigz

安装Pigz是一件很容易的事情,因为Pigz软件安装包包含在主要发行版(如Debian和centos)的官方软件仓库中。

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

在Linux系统上安装Pigz


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

基于Debian/Ubuntu

sudo apt install pigz -y
如何在Linux中使用Pigz工具更快地压缩文件

Debian/Ubuntu安装Pigz

基于CentOS/RHEL/Fedora

sudo dnf install pigz

基于Arch/Manjaro Linux

sudo pacman -S pigz

或者

yay -S pigz

3. 如何用Pigz压缩文件

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

pigz filename

在本指南中,我们将使用文件
linuxqq_2.0.0-b2-1082_amd64.deb用于演示目的。要压缩文件,请执行:

pigz linuxqq_2.0.0-b2-1082_amd64.deb

检查:

ll linuxqq_2.0.0-b2-1082_amd64*

输出

-rw-rw-r-- 1 zcwyou zcwyou 12415395 4月   9 15:50 linuxqq_2.0.0-b2-1082_amd64.deb.gz

但是,正如您看到的,该命令在压缩时删除原始文件。要在压缩后保留原始文件,请运行如下所示的-k选项。

pigz -k zoom_amd64.deb

这样,既保留了源文件,也创建了相应的压缩文件。

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

如何用Pigz压缩文件


从输出结果中,我们可以清楚地看到,压缩后的原始文件仍然保留了下来。

4. 检查Linux中压缩文件的内容

使用-l选项和pigz命令检查压缩文件的内容,包括压缩比的统计:

pigz -l zoom_amd64.deb.gz
如何在Linux中使用Pigz工具更快地压缩文件

检查Linux中压缩文件的内容


从输出结果中,您不仅可以看到压缩后的文件的内容,还可以看到压缩百分比(在本例中为0.0%)。

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

  • 6 -默认压缩。
  • 1 -最快,但提供最少的压缩。
  • 9 -最慢但最好的压缩。
  • 0 -没有压缩。

例如,要将文件压缩到最佳压缩级别,执行:

pigz -9 Tenvideo_universal_1.0.10_amd64.deb

5. 如何使用Pigz压缩一个目录

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

如何使用Pigz压缩一个目录


Pigz本身没有压缩目录的选项,它只压缩单个文件。作为一种解决方案,pigz与tar命令一起用于压缩目录。

如果要使用压缩目录功能,请使用参数--use-compress-program:

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

压缩目录snap

tar --use-compress-program="pigz -k " -cf snap.tar.gz snap
zcwyou@linuxrumen:~$ du -sh ./snap

40M ./snap

pigz -l snap.tar.gz
compressed   original reduced  name
   9454725   43950080   78.5%  snap.tar
如何在Linux中使用Pigz工具更快地压缩文件

如何使用Pigz压缩一个目录

6. 压缩时如何限制处理器的数量

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

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

pigz -9 -k -p4 Tenvideo_universal_1.0.10_amd64.deb

7. 如何使用Pigz解压文件

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

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

如何使用Pigz解压文件

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

pigz -d snap.tar.gz
unpigz dir1.tar.gz

8. Pigz和Gzip的比较

以下是测试思路:

Gzip压缩

time gzip file

Pigz压缩

time pigz file

Gzip

time gzip -d file.gz

Pigz解压缩

time unpigz file.gz

通过比较,我们可以清楚地发现Pigz的压缩和解压时间比Gzip短得多。这意味着Pigz命令行工具比Gzip工具快得多

9. 总结

我们在本文中介绍了pigz命令行工具,并向您展示了如何压缩和解压文件。我们进一步比较了Pigz和Gzip,发现Pigz在压缩和解压速度上都比Gzip好。

本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:
https://www.linuxrumen.com/cyml/1765.html

点击了解更多,快速查看更多的技术文章列表。



Tags:Pigz工具   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
1. 前言本文主要介绍如何在Linux中使用Pigz工具更快地压缩文件。Pigz是GZip并行实现的首字母缩写,由Mark Adler编写。它是一个极好的压缩工具,可以帮助您以惊人的速度压缩文件...【详细内容】
2020-06-17  Tags: Pigz工具  点击:(104)  评论:(0)  加入收藏
▌简易百科推荐
作用显示文件或目录所占用的磁盘空间使用命令格式du [option] 文件/目录命令功能显示文件或目录所占用的磁盘空间一些写法的区别du -sh xxx 显示总目录的大小,但是不会列出...【详细内容】
2021-12-23  mitsuhide1992    Tags:du命令   点击:(12)  评论:(0)  加入收藏
什么是linux内核linux就像是一个哲学的最佳实践。如果非要对它评价,我真的不知道该怎么赞叹,我只能自豪地说着:“linux的美丽简直让人沉醉。”我只能说是我处在linux学习的修炼...【详细内容】
2021-12-23  linux上的码农    Tags:linux内核   点击:(15)  评论:(0)  加入收藏
本文将比较 Linux 中 service 和 systemctl 命令,先分别简单介绍这两个命令的基础用法,然后进行比较。从 CentOS 7.x 开始,CentOS 开始使用 systemd 服务来代替 service服务(dae...【详细内容】
2021-12-23  软件架构    Tags:systemctl   点击:(14)  评论:(0)  加入收藏
mv是move的缩写,可以用来移动文件或者重命名文件名,经常用来备份文件或者目录。命令格式mv [选项] 源文件或者目录 目标文件或者目录命令功能mv命令中第二个参数类型的不同(...【详细内容】
2021-12-17  入门小站    Tags:mv命令   点击:(23)  评论:(0)  加入收藏
大数据技术AI Flink/Spark/Hadoop/数仓,数据分析、面试,源码解读等干货学习资料 98篇原创内容 -->公众号 Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处...【详细内容】
2021-12-17  仙风道骨的宝石骑士    Tags:sed命令   点击:(22)  评论:(0)  加入收藏
Node是个啥?  写个东西还是尽量面面俱到吧,所以有关基本概念的东西我也从网上选择性地拿了下来,有些地方针对自己的理解有所改动,对这些概念性的东西有过了解的可选择跳过这段...【详细内容】
2021-12-15  linux上的码农    Tags:node   点击:(25)  评论:(0)  加入收藏
难道只有我一个人觉得Ubuntu的unity桌面非常好用吗?最近把台式机上面的Ubuntu 16.04格式化了,装了黑苹果用了一周,不得不说,MacOS确实很精美,软件生态比Linux丰富很多,比Windows简...【详细内容】
2021-12-14  地球末日村    Tags:ubuntu   点击:(40)  评论:(0)  加入收藏
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行net...【详细内容】
2021-12-13  窥镜天    Tags:Linux netstat   点击:(28)  评论:(0)  加入收藏
对于较多数量的文件描述符的监听无论是select还是poll系统调用都显得捉襟见肘,poll每次都需要将所有的文件描述符复制到内核,内核本身不会对这些文件描述符加以保存,这样的设计...【详细内容】
2021-12-13  深度Linux    Tags:Linux   点击:(19)  评论:(0)  加入收藏
今天,我们来了解下 Linux 系统的革命性通用执行引擎-eBPF,之所以聊着玩意,因为它确实牛逼,作为一项底层技术,在现在的云原生生态领域中起着举足轻重的作用。截至目前,业界使用范...【详细内容】
2021-12-10  架构驿站    Tags:eBPF   点击:(29)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条