macos原生zip和gzip均为单线程,需用pigz替代gzip实现.tar.gz多线程压缩,或用p7zip启用多核7z压缩;二者均显著提升大文件处理效率,且兼容标准解压工具。
macos 原生的 zip 和 gzip 都是单线程工具,无法自动利用多核 cpu 加速压缩。要真正提升大文件或大批量归档的效率,需替换为支持多线程的替代方案——核心思路是:用多线程工具替代默认压缩后端,同时保持你习惯的归档格式或工作流。
用 pigz 替代 gzip 实现 .tar.gz 多线程压缩
pigz 是 gzip 的并行实现,能自动调用全部可用 CPU 核心,对 .tar.gz 流式压缩提速明显(通常 3–5 倍),且完全兼容标准 gzip 解压工具。
- 安装:
brew install pigz(需先装 Homebrew) - 压缩目录为 .tar.gz(多线程):
tar -cf - my_folder/ | pigz > archive.tar.gz - 解压仍用原生命令:
tar -xzf archive.tar.gz,无需额外工具 - 小技巧:可设别名简化操作,例如在
~/.zshrc中添加:alias tgz='tar -cf - | pigz >',之后直接运行tgz archive.tar.gz my_folder/
用 p7zip 启用多核 7z 压缩(高压缩率 + 并行)
p7zip 是 macOS 上最成熟的多线程归档方案,支持 .7z 格式,兼顾速度与压缩比,还能保留资源派生文件(如图标、扩展属性)。
- 安装:
brew install p7zip - 多核高压缩打包:
7z a -t7z -mmt=on -mx=9 archive.7z my_folder/ - 如需保留 macOS 元数据(推荐备份用):加
-ma=on参数 - 排除系统垃圾文件:追加
-xr!.DS_Store -xr!__MACOSX - 解压也自动多线程:
7z x archive.7z -mmt=on
绕过 zip 限制:用 zip + pigz 组合生成标准 .zip
如果你必须输出 .zip(比如交付给 Windows 用户),又想提速,可用 zip 输出原始流,再用 pigz 压缩:
- 先生成未压缩 zip 流:
zip -0 -r - my_folder/(-0表示不压缩,只打包) - 再通过 pigz 压缩该流:
zip -0 -r - my_folder/ | pigz > archive.zip
⚠️ 注意:这种方式生成的.zip文件需用unzip或支持 ZIP64 的工具解压,部分老旧 Windows 资源管理器可能识别异常;日常使用建议优先选.7z或.tar.gz。
避免踩坑:这些“看似并行”的做法实际无效
部署和使用军舰的 macOS Automator 自动化服务集合。包含 5 个实用工作流:PDF转JPG、PNG重命名并转JPG、图像拼接、解压RAR、顺序命名图像文件。一键安装所有服务到 ~/Library/Services/ 目录。使用场景:(1) "安装我的自动化服务",(2) "部署所有 Automato...
- 不要给系统
zip加-T、-q或-9等参数——它们不影响线程数,仅控制日志或压缩等级 - 不要手动开多个
zip进程并发压缩不同子目录——易引发文件锁、元数据错乱或 .DS_Store 冲突 -
/usr/bin/gzip永远单线程,gzip -r只是递归调用多次单线程压缩,不是并行
不复杂但容易忽略










