提取tar.gz的最快方法

Jus*_*tin 53 linux tar gzip

反正有没有比 tar.gz 更快地提取 tar.gz 文件tar -zxvf filenamehere

我们有大文件,并试图优化操作。

小智 72

pigz是 gzip 的并行版本。虽然它只使用单个线程进行解压,但它启动了 3 个额外的线程进行读取、写入和校验计算。您的结果可能会有所不同,但我们已经看到一些数据集的解压得到了显着改善。安装 pigz 后,可以使用以下命令提取 tar 文件:

pigz -dc target.tar.gz | 焦油 xf -

  • +1。FWIW,您也可以将其写为`tar -xvf --use-compress-program=pigz filenamehere`。(`-z` 相当于 `--use-compress-program=gzip`。)或者,你甚至可以让 `gzip` 成为 `pigz` 的符号链接,并继续使用 `-zxvf`。 (16认同)
  • @ruakh,我不得不在 `--use-compress-program=pigz` 后面加上 `-xf`,否则我会出错。出于某种原因,它并不比使用 `gzip` 快。 (6认同)

小智 15

如果tar包里有很多很多很多小文件,取消'v'参数,再试一次!

  • @Eimantas 当您解压缩包含许多多 GB 文件的内容时,您将需要一些进度指示。:) (14认同)
  • 我从不使用 -v 参数。不知道为什么人们在控制台中需要那么多噪音。 (4认同)
  • 可能值得使用 `--checkpoint=NUMBER`(*每 NUMBERth 条记录显示进度消息*)而不是 `-v`。 (2认同)

小智 8

如果您想查看进度,请使用类似pv. 这是一个例子:

pigz -dc mysql-binary-backup.tar.gz | pv | tar xf -
Run Code Online (Sandbox Code Playgroud)