7-Zip-zstd压缩工具完全指南:一步到位让7-Zip用上6大现代压缩算法
【免费下载链接】7-Zip-zstd7-Zip with support for Brotli, Fast-LZMA2, Lizard, LZ4, LZ5 and Zstandard项目地址: https://gitcode.com/gh_mirrors/7z/7-Zip-zstd
7-Zip-zstd是一个在经典开源压缩工具7-Zip基础上扩展而来的版本,它把Zstandard、Brotli、LZ4、LZ5、Lizard、Fast-LZMA2这六种现代压缩算法直接装进了你熟悉的7-Zip界面和命令行里——压缩更快、体积更小,而你的操作习惯几乎不用改变。这篇指南会从"为什么值得换"讲到"具体怎么用",帮你一次搞明白。
一个反常识的事实:你的7-Zip其实欠着"技术债" 📌
很多人不知道:7-Zip的看家算法LZMA2,其源头LZMA诞生于1998年。它足够可靠,但压缩技术这二十年早已换了代。Facebook开源了Zstandard,Google拿出了Brotli,LZ4则把解压速度推到了每秒数GB的量级。7-Zip-zstd做的,正是把这一代新技术补进老牌工具里,同时保留7-Zip原有的所有能力。
先看几组官方数据,感受一下差距:
- LZ4:单核压缩速度约400 MB/s,解压速度可达每秒数GB;
- Fast-LZMA2:在5级及以上,比原生LZMA2快20%~100%,且每线程占用内存明显更少;
- Zstandard:号称"实时压缩",在速度与压缩率之间提供了非常宽的调节范围。
同样的操作界面,底层引擎却换了一代,这就是7-Zip-zstd的价值所在。
| 你常做的事 | 老7-Zip的默认打法 | 7-Zip-zstd的新打法 | 差别感受 |
|---|---|---|---|
| 备份日常文档 | LZMA2慢慢压 | zstd -mx5 | 速度快一大截,体积几乎持平 |
| 给同事传大文件 | 等压缩转完 | lz4快速打包 | 几乎零等待 |
| 归档大量日志文本 | 高等级LZMA2 | brotli | 压缩率更高,文本更"瘦" |
| 服务器磁盘告急 | LZMA2硬扛 | flzma2 | 同级别更快、更省内存 |
核心结论:7-Zip-zstd不是"另一个压缩软件",而是"你熟悉的7-Zip + 六种新算法"。学习成本趋近于零,收益立竿见影。
六大算法不是六个选项,而是三档变速器 ⚙️
面对六种算法,新手最容易晕。换个角度看就简单了:它们其实是三档变速器,各有明确分工。
极速档:LZ4、LZ5、Lizard(10~19级)
这三位的共同点是"快"。LZ4适合实时场景,比如游戏资源打包、临时传输;LZ5是LZ4的改良版,用一点速度换更好的压缩率;Lizard的10~19级(fastLZ4模式)解压速度比LZ4还快约10%。适合谁:追求"秒开秒压"、对体积不太敏感的用户。
# 解决"传文件前压缩等太久"的问题,适合追求速度的日常用户 7z a 临时传输.7z -m0=lz4 -mx1 视频素材/均衡档:Zstandard、Lizard(20~49级)
Zstandard是绝大多数人的默认答案。1~22级的跨度极大,3~5级就能获得接近LZMA2的压缩率,速度却快数倍;Lizard的20~49级则在保留高速解压的同时,把压缩率追到了zlib乃至zstd低等级的水平。适合谁:日常备份、归档、跨平台传输的通用场景。
# 解决"日常备份又想快又想小"的问题,适合所有用户的主力命令 7z a 工作备份.7z -m0=zstd -mx7 项目文件/高压缩档:Brotli、Fast-LZMA2
Brotli的压缩密度在同代算法中数一数二,尤其擅长文本类数据;Fast-LZMA2则承担"兼容旧世界"的职责——压缩率略低于原生LZMA2,但速度提升20%~100%,内存占用更小。适合谁:存储成本敏感、或需要与既有LZMA2生态对接的场景。
# 解决"日志和文档想压到最小"的问题,适合归档文本类数据 7z a 文档归档.7z -m0=brotli -mx9 资料库/| 算法 | 级别区间 | 一句话定位 | 典型场景 |
|---|---|---|---|
| LZ4 | 1~12 | 速度之王,解压以GB/s计 | 实时传输、游戏资源 |
| LZ5 | 1~15 | LZ4改良版,换速度取压缩率 | 比LZ4稍慢但更小 |
| Lizard | 10~49 | 四段模式,从极速到高压缩 | 需要灵活折中的场景 |
| Zstandard | 1~22 | 速度与压缩率的全能平衡 | 日常备份、通用归档 |
| Brotli | 0~11 | 压缩密度领先 | 文本、日志、静态资源 |
| Fast-LZMA2 | 1~9 | 老LZMA2的提速优化版 | 兼容旧生态、省内存 |
装一送多的"附赠功能" 🎁
除了六种算法,完整版还塞进了不少实用能力:
- 16种哈希校验:从CRC32、XXH64到SHA-256、SHA-512、SHA3,再到BLAKE2sp、BLAKE3,一条命令算完;
- 单文件直读:
.zst、.lz4、.br、.lz5、.liz这些裸压缩文件可以直接打开,不用再装额外工具; - ZIP内嵌Zstandard:解压用Zstd压缩的ZIP包,无需转换;
- 格式触角延伸:支持LZ4/Zstd压缩的squashfs镜像,附带lzip解压能力;
- 界面细节:Windows资源管理器右键菜单、深色模式、针对可执行文件的BCJ预处理器。
安装前先想清楚:完整版还是插件版?
7-Zip-zstd提供两种安装思路,选错会直接影响你能做什么,所以先说区别:
- 完整版:自带图形界面和资源管理器集成,能处理
.zst等单文件格式,功能最全; - 插件版:只把新编解码器补进你现有的7-Zip,界面不动、不新增哈希功能,且只支持
.7z容器内的新算法。
已经装了官方7-Zip的用户,插件版是"零侵入"的选择;从零开始、想一次到位,直接上完整版。装完都建议跑一条命令验证:
# 列出当前7-Zip支持的所有格式、编解码器与哈希算法 7z i如果输出里能看到ZSTD、BROTLI、LZ4、LIZARD、LZ5、FLZMA2这些名字,就说明装好了。另外提一句,命令行工具本身也分几个变体,功能有细微差别:
| 命令 | 定位 |
|---|---|
7z | 完整版命令行,通过外部模块加载编解码器 |
7zz | Linux/macOS上的独立完整版 |
7za | 精简版,支持格式较少(含LZ4) |
7zr | 最轻量,专注7z格式(含FLZMA2、Zstd) |
三条上手路线:新手、老用户、开发者各走各的路 🧭
新手路线:记住三个命令就够了
适合谁:刚接触命令行,只想要"能压、能解、能查"。
# 压缩:-m0 指定算法,-mx 指定级别,级别越高越慢但越小 7z a 备份.7z -m0=zstd -mx5 我的文档/ # 解压:格式自动识别,不用管它是什么算法压的 7z x 任意压缩包.zst # 校验:确认压缩包没有损坏 7z t 备份.7z老用户路线:把参数真正用起来
适合谁:已经熟悉7-Zip,想针对机器和文件调优。
# -mmt 指定线程数,多核机器明显提速 # -md 控制字典大小,大文件配大字典效果更好 # -ms 开启固实模式,让小文件打包更紧密 7z a 大文件.7z -m0=zstd -mx10 -mmt=4 -md=64m -ms=on 大目录/专业提示:线程数不是越大越好,一般设为核心数的一半到全部即可;字典越大越占内存,32位系统尤其要留意。
开发者路线:源码编译与脚本集成
适合谁:想在Linux/macOS上拿到最新特性,或把压缩写进自动化流程。
# 克隆仓库(源码编译需先获取完整代码) git clone https://gitcode.com/gh_mirrors/7z/7-Zip-zstd cd 7-Zip-zstd/CPP/7zip/Bundles/Alone2 # 用GCC编译命令行版本;要汇编级优化可改用 cmpl_gcc_x64.mak make -j -f ../../cmpl_gcc.mak编译完成后,可以在脚本里直接调用:
import subprocess def zstd_compress(src, dst, level=5): """用zstd算法压缩文件,返回是否成功""" cmd = ["7zz", "a", dst, "-m0=zstd", f"-mx{level}", src] return subprocess.run(cmd, capture_output=True).returncode == 0 if zstd_compress("重要数据/", "重要数据.7z", level=7): print("压缩完成")五个最常见的坑,一次讲清 ⚠️
坑1:插件版压可执行文件,体积反而变大。插件版不会自动加BCJ预处理器,压缩.exe、.dll时要显式声明:
# 插件版专用写法:先做BCJ预处理,再用zstd压缩 7z a 程序.7z -m0=bcj -m1=zstd -mx3 应用程序/坑2:级别不是越高越好。-mx22的Zstandard压缩极慢,日常数据收益却很小;3~7级通常就是性价比甜点区。
坑3:杀毒软件报毒。这是知名开源项目的"老冤家"。7-Zip-zstd的发布包由GitHub Actions自动构建,你可以在构建记录里核对SHA256哈希来验证文件真实性,然后把程序加白名单。
坑4:内存不够用。优先砍字典,而不是换算法:
# 内存紧张时,把字典压到16MB 7z a 文件.7z -m0=zstd -md=16m坑5:插件版不等于完整版。只装插件的话,.zst这类单文件格式是打不开的——它只负责.7z容器。想处理裸压缩文件,请用完整版。
收尾:文档在哪、源码在哪、第一步做什么
想深入研究的资料都在仓库里:DOC/目录存放格式与算法说明,六种算法的C语言实现分别在C/brotli/、C/zstd/、C/lz4/、C/lz5/、C/lizard/、C/fast-lzma2/,7-Zip侧的集成代码则在CPP/7zip/Archive/,命令行工具源码在CPP/7zip/Bundles/下。
你的第一个动作很简单:安装后打开终端,运行7z i,亲眼看到六种算法列出来;然后用7z a 测试.7z -m0=zstd -mx5压缩一个真实文件夹,对比一下时间与体积。体验过这一次,你就回不去了。
【免费下载链接】7-Zip-zstd7-Zip with support for Brotli, Fast-LZMA2, Lizard, LZ4, LZ5 and Zstandard项目地址: https://gitcode.com/gh_mirrors/7z/7-Zip-zstd
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考