如何用 gzip、bzip2 或 xz 压缩文件
- 把一个或多个文件拖到上方的拖放区域,或点击选择文件。
- 选择一种格式:
- GZIP (.gz):速度快,几乎所有系统和库都能识别。
- BZIP2 (.bz2):对文本通常比 gzip 压得更小,但速度更慢。
- XZ (.xz):通常得到最小的结果,但压缩速度最慢。
- 点击压缩。每个文件都会单独压缩,并保留完整文件名再加上新的扩展名,因此
report.csv会变成report.csv.gz。 - 通过各自的下载按钮下载每个结果,如果压缩了多个文件,也可以使用全部下载(ZIP)。
GZIP 输出由浏览器内置的 CompressionStream 生成;BZIP2 和 XZ 使用编译成 WebAssembly 的 libarchive。您的文件不会被上传。
是压缩工具,不是打包工具
gzip、bzip2 和 xz 都是把一个输入变成一个压缩后的输出。它们没有文件夹或文件列表的概念,因此这个工具会为您添加的每个文件分别生成一个 .gz、.bz2 或 .xz。如果您想让多个文件放在同一个下载文件里,请先把它们放进压缩包:在 Unix 系统上就是用 tar,得到常见的 .tar.gz。
在很多情况下,单个压缩文件仍然是正确的选择:要上传到服务器的大型 SQL 转储文件或 CSV 导出文件、要附加到支持工单的日志文件、供直接提供 .gz 文件的 Web 服务器使用的预压缩资源,或者供原生读取 gzip 的脚本使用的数据文件。
| 格式 | 算法 | 在 Linux/macOS 上解压 | 适用场景 |
|---|---|---|---|
| GZIP (.gz) | Deflate | gunzip file.gz | 日志、Web 资源,以及任何需要广泛支持的场合 |
| BZIP2 (.bz2) | Burrows-Wheeler + Huffman | bunzip2 file.bz2 | gzip 压得还不够小的文本 |
| XZ (.xz) | LZMA2 | unxz file.xz | 供下载的大型文本或数据文件 |
对应的命令行压缩命令是 gzip -k file、bzip2 -k file 和 xz -k file,其中 -k 表示把原文件保留在压缩副本旁边。不加该选项的话,原文件会被删除。
需要记住的事项
- 照片、视频、PDF、Office 文档和 ZIP 文件内部已经压缩过,所以这三种格式对它们都只能略微减小体积。
- 本站可以解压
.gz文件,但不能解压单文件的.bz2或.xz文件。收到这些文件的人需要bunzip2、unxz、7-Zip 或类似工具。 - 超过约 700 MB 的文件在浏览器中处理很慢,超过 2 GB 的输入会被拒绝。
小技巧
- 要把多个文件或一个文件夹打包成一个压缩文件,请使用创建TAR.GZ文件或创建ZIP文件。
- 要打开
.gz文件,请使用打开GZ文件。 - 想要的不只是更小的文件,而是受保护的文件?任意文件加密会把文件打包成 AES-256 加密的 ZIP。
常见问题
我可以把整个文件夹压缩成一个 .gz 吗?
不能直接这样做,因为 gzip 只能容纳一个文件。请改为创建 TAR.GZ,它会先用 tar 打包文件夹,再用 gzip 压缩。
我可以选择压缩级别吗?
不能。唯一的选项是格式;压缩设置是固定的。
哪种格式得到的文件最小?
通常是 XZ,其次是 BZIP2,然后是 GZIP,但差距取决于内容。可以对同一个文件尝试两种格式,并比较大小。
更新于