如何把 TAR 转换为 ZIP
- 把
.tar文件拖到拖放区域,或点击选择文件来浏览并选择它。 - 密码(仅当压缩包已加密时填写)一栏可以留空。普通的 TAR 文件没有加密,该栏位是为已加密的 ZIP 源文件准备的。
- 点击转换为 ZIP。tarball 中的每个文件都会被读取,并写入压缩后的 ZIP。
- 使用下载按钮保存结果,文件名与原文件相同:
backup.tar会变成backup.zip。
tarball 由在您浏览器中以 WebAssembly 运行的 libarchive 读取,ZIP 由 zip.js 写入。文件自始至终都保留在您的设备上。
tarball 和 ZIP 为什么不同
TAR(“tape archive”的缩写,即磁带归档)可以追溯到 Unix 在磁带上的备份。它只是把文件一个接一个地连接起来,每个文件前面带一个头信息,而且完全不做压缩。这就是为什么 .tar 文件的大小大致相当于其中各文件大小之和。在 Linux 和 macOS 上,您通常会用 tar -xf backup.tar 来解包,TAR 在 Docker 镜像导出、服务器备份和数据转储中很常见。
ZIP 会对每个文件单独压缩,Windows、macOS 和移动设备都原生支持。因此,把 TAR 转换成 ZIP 能同时带来两个好处:在任何桌面系统上双击即可打开压缩包,而且与普通的 TAR 不同,它真的会压缩内容。文本文件、日志、CSV 导出文件和源代码往往能大幅缩小;照片、视频和其他已压缩的文件则大小基本不变。
TAR 中的哪些内容会被保留
文件内容和完整的文件夹层级结构都会写入 ZIP,ZIP 使用常规级别的 Deflate。从 tarball 中读取的长路径和非英文文件名会原样保留。
有些信息不会随转换保留。在浏览器中无法读取 tarball 中的原始修改日期,因此 ZIP 中的文件会使用当前日期。文件权限(如可执行位)、用户和用户组所有权以及空目录也不会被复制。如果您要在 Linux 机器之间转移一组 shell 脚本或程序,并且需要这些详细信息,请继续使用 TAR 或 TAR.GZ,并在目标机器上用 tar 命令解包。
小技巧
- 对于
.tar.gz或.tgz文件,请使用 TAR.GZ转ZIP。其他压缩的 tarball,例如.tar.bz2和.tar.xz,请通过压缩包格式转换器处理。 - 如果您只想要其中的文件,解压TAR文件会把它们列出来,供您逐个下载。
- 如果想反过来从 ZIP 生成 tarball,请参阅 ZIP转TAR。
- 结果太大?拆分ZIP文件可以把它分成若干部分,每个部分都能单独打开。
常见问题
ZIP 会比 TAR 小吗?
通常会,因为 TAR 没有压缩,而 ZIP 应用了 Deflate。节省的幅度取决于内容:以文本为主的压缩包会大幅缩小,而媒体文件几乎不变。
文件日期会被保留吗?
不会。浏览器无法获取 tarball 中存储的日期,所以每个 ZIP 条目都会使用转换当天的日期。如果您需要原始时间戳,请在自己的电脑上使用 tar -xf。
它能处理非常大的 TAR 备份吗?
压缩包是在浏览器内存中处理的。大小约 700 MB 以内的 tarball 转换速度尚可,更大的会很慢,超过 2 GB 的则会被拒绝。对于更大的备份,命令行工具是更好的选择。
可以一次转换多个 TAR 文件吗?
不可以,每次转换只能处理一个压缩包。请为下一个文件再次运行该工具。
更新于
评论
登录后即可为此工具评分。
分享技巧、提出问题,或说说这个工具对您是否有用。
还没有评论,来分享您的使用体验吧。