Linux 环境通过 tar 多线程压缩和解压
一、压缩工具
目前使用到的多线程压缩主要是 xz 格式和 gz 格式,其他的还没有使用,后面有机会就更新。
gz 格式压缩可以通过 pigz 工具进行压缩,使用 apt 下载:
sudo apt install pigz
xz 格式压缩可以通过 pxz 工具进行压缩,需要下载源码,然后执行 make:
git clone https://gitcode.com/gh_mirrors/px/pxz.git
cd pxz
make
生成的可执行文件就可以直接进行压缩和解压。
二、压缩文件
1、pigz
tar -I "pigz -p8" -cf archive.tar.gz archive
或
tar --use-compress-program="pigz -p8" -cf archive.tar.gz archive
这里 --use-compress-program 和 -I 都是用于指定压缩工具,但是需要注意用法不同,-I 没有 = 号。
如果不指定 -p8 线程数,只有 pigz 单个参数,可以去除双引号:
tar -I pigz -cf archive.tar.gz archive
2、pxz
tar -I "/path/to/pxz -9 -T4" -cf archive.tar.xz archive
这里 /path/to/pxz 需要更换为编译后的实际目录。
-9 是压缩预设等级,9 最慢但压缩率最高,0 相反。
-T4 用 4 个线程。
三、解压文件
1、pigz
tar -I "pigz -p8" -xf archive.tar.gz
2、pxz
tar -I "/path/to/pxz -9 -T4" -xf archive.tar.xz