文档首页> 技术教程> 压缩格式对比:tar.gz、zip、7z、zstd

压缩格式对比:tar.gz、zip、7z、zstd

发布时间:2025-11-24 22:41        更新时间:2025-11-25 03:52
比较压缩格式,盯住三个指标就够了:压得有多小、压得有多快、对方能不能解开。四个常见格式在这三条线上各有位置。 tar.gz:默认选项 tar 打包加 gzip 压缩是 Linux 世界的通用语,`tar -czf logs.tar.gz /var/log` 打包,`tar -zxf logs.tar.gz` 解开,任何一台 Linux 都能处理。它还支持流式处理:`tar -cf - 目录 | gzip > out.tar.gz`,磁盘紧张时中间文件不落地。压缩率和速度都居中,缺点是单线程 gzip 处理大文件偏慢。兼容性优先的场景闭眼选它,脚本里最不容易出错,团队模板里固定下来最好不过。 zip:跨平台交换用 非 Linux 环境双击就能解压,适合把文件发给非技术同事。`zip -r out.zip dir/` 打包、`unzip out.zip` 解开都直观,压缩率一般,中文文件名在不同系统间偶尔乱码,发出去之前自己先解压试一次。 7z:压缩率优先 7z 格式的压缩率通常是四个里最好的,适合归档冷数据、对体积敏感的场景,命令行工具由 p7zip 包提供。代价是压缩慢,对方解压也得装对应工具;另外它默认不保留 Linux 的属主权限,做系统级归档要加参数,日常数据交换则无所谓。顺带认识 xz:压缩率更高、速度也更慢,源码包常用它,日常会解(`tar -Jxf`)就够。 zstd:速度优先 zstd 是近几年普及的新格式,速度比 gzip 快数倍,压缩率还略好。`zstd access.log` 一行完成,解压用 `zstd -d`,它也能和 tar 直接搭配:`tar -I zstd -cf logs.tar.zst /var/log`,把命令里的 gzip 换成 zstd 即可,主流发行版仓库都能装。 量级感受可以拿自己的一批文本日志实测:gzip 通常压到原体积三成上下,zstd 结果相当但耗时只有零头,7z 还能再小一点,代价是时间翻上几倍——实测一次,比记参数表有说服力。按场景收尾:发给非技术同事用 zip;归档冷数据用 7z;定期备份和大日志用 zstd;要求哪里都能解开就用 tar.gz。顺云云服务器上做备份脚本时,更常推荐 tar.gz 与 zstd 的组合——日志先按天切割,再整体打包,兼顾恢复粒度和压缩速度。