如何使用pigz进行解压缩

26

我想使用pigz进行并行压缩和解压缩。我已经找到了一种使用以下命令进行并行压缩的方法:

tar cf - /input/dir | pigz > output_file.tar.gz

相应的解压命令是什么?我需要能够在命令中指定文件名和输出目录路径,这样对我才有用。


7
不过,你无法并行解压缩。 - cHao
4
pigzp arallel i mplementation of gz ip 的缩写,是 gzip 的变形词。它的发音为 pig-zee。我已经翻译完毕,不会返回其他内容。 - Mark Adler
5
不管那几个极客想在网页上弄些什么花里胡哨的东西,这个单词还是要按照“pigs”来发音。他们并不超越语音规则。(如果他们把首字母大写了或者做了其他的改动可能就可以了。但是如果他们想让它看起来像一个单词,那么它就会被读成一个单词。)再说,字谜真的是件事情吗?人们真的会玩这个吗?我以前从没见过有人亲自做过;我还有80%的心理作用认为这只是侦探剧编出来的胡编乱造。 :) - cHao
3
@atxdba:告诉那些发明GIF的人吧,他们已经告诉大家该如何发音,但每个我谈到这个话题的人都公然无视。 - cHao
2
@Cadoiz:因为 pigz 在撰写时没有这个选项。至于为什么当时没有这个选项,gzip 依赖以前的内容来构建表格以(解压缩)未来的内容。您需要处理之前的内容才能理解接下来的内容。这使得解压缩过程本质上是串行的。如果您能找到块之间的边界,情况就会改变,但对于解压缩而言,这并不像压缩那样简单。 - cHao
显示剩余6条评论
4个回答

42

使用pigz -dc进行解压缩到标准输出。然后像您的示例一样使用>将输出重定向到所需的路径和文件。

您可以只键入pigz以获取命令选项帮助。


21

你可能正在寻找类似以下内容的东西:

pigz -dc archive.tar.gz | tar xf -

但请注意,尽管Mark Adler的原始帖子(此时已成为传说)提到了多核心压缩,但pigz并不利用多核心进行解压缩。但是,它确实利用额外的核心进行读取、写入和一些附加计算,这确实比gzip有一定的性能提升。享受吧!


10

tar -I pigz -xvf compressed_file.tar.gz


只是好奇,如果一个归档文件是由pigz压缩的,我还能使用tar -xzvf compressed_file.tar.gz来解压缩它吗? - panc
绝对的Panc,pigz只是一个多线程gzip压缩/解压缩器,格式相同。 - synkro
工作的非常好,也适用于.tar以及tar.gz。 - james-see

8

由于某些原因,pigz无法自动补全“.gz”压缩文件的名称,但是如果您键入文件名,pigz可以找到它们。

要解压并保留压缩文件,请使用:pigz -dk yourfilename.gz。 如果您不需要压缩版本,请只使用pigz -d yourfilename.gz

pigz --help显示所有可用选项。


那么 -k 的存在确定了是否保留归档文件 yourfilename.gz 吗?或者它是做什么用的? - Cadoiz
man pigz|grep -A1 -- '-k' -k --keep 处理后不要删除原始文件。 - thoth

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接