如何将 .tar.gz 转换为 .tar.xz?

如何将 .tar.gz 转换为 .tar.xz?

如何轉換.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|xzxz-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

相关内容