如何把 ZIP 转换为 TAR.GZ
- 点击选择文件并选中
.zip文件,或者把它拖到拖放区域。 - 如果这个 ZIP 在打开时需要密码,请在密码(仅当压缩包已加密时填写)中输入该密码。否则请保持为空。
- 点击转换为 TAR.GZ。文件会被解压,打包成 tar 包,再用 gzip 压缩。
- 点击下载。输出文件会沿用输入文件的名称,所以
my-app.zip会变成my-app.tar.gz。
一切都在您的浏览器中完成:由 zip.js 解压 ZIP,再由 libarchive(WebAssembly)写出 gzip 压缩的 tar 包。ZIP 不会被上传,当里面包含凭据、配置或客户数据时,这一点尤其有用。
为什么 Linux 和服务器更偏爱 TAR.GZ
在 Linux 和其他类 Unix 系统上,经过 gzip 压缩的 tar 包是最常用的压缩包格式。每台服务器都安装了 tar 和 gzip,即使是最精简的容器也不例外,而这些容器里往往没有 unzip。部署脚本、软件包构建工具、配置管理工具以及许多主机控制面板都要求使用 .tar.gz。项目网站上发布的源代码版本通常也采用这种格式。
在这里转换可以省去一次折腾:您不必先把 ZIP 上传到服务器再安装 unzip,而是直接上传 TAR.GZ,并用 tar -xzf my-app.tar.gz 解开。想在不解压的情况下查看里面有什么,可以使用 tar -tzf my-app.tar.gz。
tar 包里有什么
因为源文件是 ZIP,转换时能获得每个文件的完整信息。tar 包会保留:
- 修改日期,与 ZIP 中记录的完全一致,所以
make或rsync这类比较时间戳的工具看到的是原来的时间。 - 文件夹结构和 Unix 风格的路径,以 POSIX(pax)tar 格式写出,因此长路径和非英文文件名都能完整保留。
- 文件内容,逐字节保持不变。
会被丢弃的内容:空文件夹、macOS 产生的垃圾条目(__MACOSX/ 文件夹和 ._ 文件)以及 ZIP 的任何密码。Unix 权限不会从 ZIP 中获取,所以 shell 脚本在解压后需要执行 chmod +x。就大小而言,TAR.GZ 通常与原来的 ZIP 相近,或略小一些,因为 gzip 把整个 tar 包当作一个数据流来压缩,可以利用文件之间的相似之处。
小技巧
- 如果您需要更小的文件,而且目标系统支持
xz,可以用压缩包格式转换器转换为 TAR.XZ,ZIP 源文件在那里同样会保留日期。 - 直接用您电脑上的文件夹创建 tar 包,更适合使用创建TAR.GZ文件。
- 收到了 TAR.GZ,但需要给使用 Windows 的同事一个 ZIP?请使用 TAR.GZ转ZIP。
- 可以先用编辑ZIP文件整理 ZIP,删除或重命名其中的条目。
常见问题
TAR.GZ 和 TGZ 是一回事吗?
是的,.tgz 是同一种格式的简短写法。如果某个工具要求使用这个扩展名,您可以重命名下载的文件。
可以把带密码的 ZIP 转换为 TAR.GZ 吗?
可以。输入密码后,文件会在本地解密。TAR.GZ 没有加密功能,所以结果是不受保护的。
Windows 能打开 TAR.GZ 吗?
较新的 Windows 11 更新可以打开,7-Zip 也可以。Windows 10 用户可以在终端中运行 tar -xzf,或者改用 ZIP。
ZIP 最大可以多大?
转换在浏览器内存中进行。大小约 700 MB 以内比较顺畅,更大的文件会比较慢,超过 2 GB 的输入会被拒绝。
更新于
评论
登录后即可为此工具评分。
分享技巧、提出问题,或说说这个工具对您是否有用。
还没有评论,来分享您的使用体验吧。