我想将多个图像压缩到.xz存档中。我怎么做?
尽管如由Zacharee1详细介绍,并通过heemayl通常是你想做的事,另一种方式是管道柏油数据的命令:tar cJf archive files...
xz
tar c files... | xz > archive.tar.xz
由于Ubuntutar
支持该J
选项,因此当您希望将选项传递给时,这种替代方法特别有用xz
。
在此示例中,我压缩并压缩了一些TIFF文件,这些文件具有较高的压缩率(-9
to xz
)和详细输出(v
to tar
,-v
to xz
):
ek@Io:~/Pictures$ tar vc *.tif{,f} | xz -9v > pics.tar.xz
page001.tif
page002.tif
page003.tif
page004.tif
page9087.tif
page3la.tiff
quux0000.tiff
100 % 207.3 KiB / 290.0 KiB = 0.715
当然,这也可以通过两个明确分开的步骤来完成:
ek@Io:~/Pictures$ tar vcf pics.tar *.tif{,f}
page001.tif
page002.tif
page003.tif
page004.tif
page9087.tif
page3la.tiff
quux0000.tiff
ek@Io:~/Pictures$ xz -9v pics.tar
pics.tar (1/1)
100 % 207.3 KiB / 290.0 KiB = 0.715
尽管最后.tar.xz
生成的文件应该是相同的(并且在我测试时是相同的),但这两种方式实际上在它们的操作方式上并不等效。
tar
就是管道(|
)到输入的xz
。几乎立即xz
接收数据tar
,并且从未创建任何中间未压缩的tar文件。这是说,第一种方式是本质上等同于tar cJf archive files...
,除了传递给其他参数xz
。xz
在第二个命令中对其进行了压缩。(完成后会xz
自动删除原始文件,除非使用-k
/调用--keep
。)有关更多阅读,请参阅Rafael van Horn的帖子以及tar
andxz
手册。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句