unpigz(和解压缩)到特定目录

Neu*_*ter 6 tar compression gzip multithreading

我知道如何将gunzip文件复制到选定的位置。

但是当谈到利用所有 CPU 能力时,许多人会考虑pigz而不是gzip. 所以,问题是我如何unpigz(和解压)一个*.tar.gz文件到一个特定的目录?

Neu*_*ter 11

我找到了三个解决方案:

  1. 使用 GNU tar,使用 awesome-I选项:

    tar -I pigz -xvf /path/to/archive.tar.gz -C /where/to/unpack/it/
    
    Run Code Online (Sandbox Code Playgroud)
  2. 有很多 Linux 管道(一种“极客方式”):

    unpigz < /path/to/archive.tar.gz | tar -xvC /where/to/unpack/it/
    
    Run Code Online (Sandbox Code Playgroud)
  3. 更便携(到其他tar实现):

    unpigz < /path/to/archive.tar.gz | (cd /where/to/unpack/it/ && tar xvf -)
    
    Run Code Online (Sandbox Code Playgroud)

(您也可以替换为使其tar xvf -符合POSIX,但在基于 Linux 的系统上不一定更便携。)pax -r

感谢@PSkocik获得正确方向,@Stéphane Chazelas获得第三个变体以及答案的作者。