常用压缩格式效率对比(tar、zip...)、显示文件夹中有多少文件

365最近提款系统维护了吗 2025-08-04 23:11:15 admin

在Windows/WSL就用“BandZip”就可以了,很快,用pigz感觉没有起到加速效果

在Ubuntu就用“pigz”

单核心tar压缩与解压

TAR 格式

tar 只是一种打包格式,并不对文件进行压缩,主要是为了便于文件的管理,所以打包后的文档大小一般远远大于 zip 和 tar.gz,但这种格式也有很明显的优点,例如打包速度非常快,打包时 CPU 占用率也很低,因为不需要压缩。

tar 常见参数(最常使用的)

z # 通过 gzip 压缩或解压c # 创建新的 tar 包v # 显示命令执行过程【有时候数量太多,显示可能会造成卡顿,还是别开启了】f # 指定压缩文件的名字t # 不解压查看 tar 包内容

使用方法:

# 仅打包,不压缩

tar -cvf <自定义压缩包名称>.tar <待压缩目录的路径>

# 打包后,以 gzip 压缩

tar -zcvf /tmp/etc.tar.gz /etc

# 解压

tar -xf <待解压压缩包名称>.tar -C <解压到哪个路径>

解压到当前文件夹

tar -xf <待解压压缩包名称>.tar

# 显示文件夹中有多少文件

find /root/tmp/train_VAE -type f | wc -l

注意:

如无特殊需要,推荐使用.tar格式的包,因为该格式仅打包不会压缩,而多数情况图片和视频等都无法进一步压缩,因此仅打包不压缩是速度最快、消耗资源最少的打包和解压方式。

zip压缩与解压

zip -r archive_name.zip folder_name

unzip archive_name.zip

unzip archive_name.zip -d /path/to/destination

多核心tar压缩与解压pigz

对于Ubuntu:

sudo apt install pigz

常用参数

-0 ~ -9 压缩等级,数字越大压缩率越高,速度越慢,默认为6-p --processes n 使用n核处理,默认为使用所有CPU核心

压缩文件夹

pigz没有压缩文件夹的选项,只能压缩单个文件。若想压缩文件夹,可以结合tar使用:

tar -cvf - <文件夹> | pigz > <输出文件夹>.tgz

例如:

tar -cvf - MDT/ | pigz -0 > mdt.tgz

解压文件夹

pigz -d output.tar.gz

这样得到的是output.tar,再通过tar解打包就好了

也可以直接用tar命令解压

tar -xzvf output.tar.gz

快如闪电:Linux多线程压缩软件pigz - 知乎

AutoDL帮助文档

各大开源压缩格式的性能对比 - 知乎