如何轉換.tar.gz
為.tar.xz
?
我有一堆.tar.gz
文件想要转换以.tar.xz
实现更好的压缩。
如何高效地做到这一点?像这样的命令就很好了:如何将 tar.bz2 转换为 tar.gz?。
下面是我用来创建 tar gz 和 tar xz 的两个命令:
- 塔吉特
tar czf folder.tar.gz folder
- TAR XZ (LZMA)
tar cfJ folder.tar.xz folder
有没有比更好的方法:tar xvzf folder.tar.gz && tar cfJ folder.tar.xz folder && rm -rf folder
?
答案1
您几乎重复的问题中的命令可以修改为用作gunzip
解压缩程序并xz
实现完全相同的结果。
gunzip2 -c < file.tar.gz | xz -c -T0 > file.tar.xz
-c
在两种情况下都告诉程序输出到stdout
。在的情况下,它从viagunzip
接收数据,然后通过管道()传输到。然后被告知相同的操作,其输出通过管道传输到您的输出文件。 可以利用并行压缩来显著减少操作时间。stdin
< file.tar.gz
|
xz
xz
-T0
gunzip
应该实际上与gzip -d
答案2
你所寻求的咒语是:
gzip -cd file.tar.gz | xz > file.tar.xz
rm file.tar.gz
如果您有多个 CPU 核心并且希望实现最大程度的压缩:
gzip -cd file.tar.gz | pxz -9 > file.tar.xz
rm file.tar.gz