tar 本质只是打包工具(不压缩),通常搭配 gzip/bz2/xz 做压缩;下面分两类:
全能一体化工具(打包 + 压缩一步到位,直接替代
tar + 压缩器)纯压缩工具(仅压缩单文件,无打包能力,适合单独压缩文件)
一、全能打包压缩工具(最常用,直接平替 tar)
1. zstd(Zstandard,现代首选)
当下 Linux 发行版(Ubuntu、CentOS、Fedora)默认主推,压缩速度、压缩率、解压速度均衡碾压 gzip/xz。
优势:支持多线程、压缩级别灵活、字典压缩、断点恢复,内核 / 容器 / 备份广泛使用
打包压缩(替代
tar -zcvf)
bash
# 打包+zstd压缩
zstd -c -r 目录/ > 打包文件.tar.zst
# 简化封装(自带tar打包)
tar --zstd -cvf archive.tar.zst mydir/
解压:
tar --zstd -xvf archive.tar.zst
2. pigz(并行 gzip)
gzip 的多线程并行实现,完全兼容 gz 格式,旧系统兼容首选,替代 tar -z。
特点:格式和 gzip 互通,多核机器压缩速度提升数倍
bash
# 打包并行压缩
tar -cv mydir/ | pigz > archive.tar.gz
# 解压
pigz -dc archive.tar.gz | tar -xv
3. pixz(并行 xz)
xz 的多线程版本,兼容 .tar.xz,超高压缩率,大备份文件使用。
bash
tar -cv mydir | pixz > archive.tar.xz
4. 7-Zip(7z,跨平台全能)
跨 Windows/Linux/macOS,单一工具支持上百种格式,自带打包 + 高压缩,.7z 格式压缩率顶级。
Linux 包名 p7zip-full
bash
# 打包压缩目录
7z a archive.7z mydir/
# 解压
7z x archive.7z
优势:支持密码加密、分卷压缩,Windows 生态通用。
5. rar / unrar
老牌商业高压缩格式 .rar,分卷、修复、加密功能完善;开源解压仅 unrar,rar 压缩工具闭源。
bash
rar a archive.rar mydir/
unrar x archive.rar
6. zip /unzip(通用跨平台)
.zip 是通用标准,Windows/macOS/Linux 原生支持,无需额外依赖;缺点:压缩率一般,不支持大文件分卷。
bash
# 打包压缩目录
zip -r archive.zip mydir/
unzip archive.zip
二、纯压缩工具(无打包,只能压缩单个文件,搭配管道配合 tar)
这类工具不能直接打包文件夹,只能压缩单个文件,日常都是和 tar 管道联用:
gzip / gunzip:Linux 原生,最通用,压缩速度中等
bzip2 / bunzip2:比 gzip 压缩率高,速度慢,逐步被 xz/zstd 替代
xz / unxz:超高压缩率,单线程慢,pixz 并行版改善速度
三、新型轻量化工具(容器 / 云备份场景)
1. lz4
极致极速压缩解压,压缩率偏低,适合临时缓存、容器镜像、实时日志压缩,多线程支持。
bash
tar --lz4 -cvf archive.tar.lz4 mydir/
2. zpaq
超高压缩率开源工具,支持增量备份、重复数据消除,适合长期冷备份,压缩耗时较长。
四、工具选型对比(快速选择)
五、补充说明
tar 本身无法压缩,
tar -z/-J/-I只是内置调用 gzip/xz/zstd;上面所有工具均可替代这套组合。现代 Linux 推荐优先 zstd,兼顾速度、压缩率、多线程;追求极致速度选 lz4;Windows 互通加密选 7zip。
不推荐 bzip2,性能全面落后 zstd;rar 闭源,生产环境尽量规避。