文件操作

TAR.GZ 压缩工具

完全在浏览器中将多个文件或文件夹打包为 tar 后再用 gzip 压缩,可按需下载 .tar.gz・.tgz・.tar(不压缩)・.gz(单文件)等多种格式。适合上传到 Linux 服务器。文件内容绝不会上传到服务器。


TAR.GZ 压缩小技巧

  • 整体拖入文件夹后,会保留原有的目录结构打包进 tar。如果单独选择文件,生成的压缩包则没有目录结构,是扁平的。
  • .tar.gz 与 .tgz 内容完全相同,只是扩展名不同。如果要提供给 npm 软件包等要求 .tgz 扩展名的工具使用,请选择 .tgz。
  • 选择".tar(不压缩)"后会跳过 gzip 压缩步骤。对于图片、视频、ZIP 等本身已经压缩过的文件,压缩前后体积几乎不变,此时不压缩反而处理更快。
  • .gz 是不经过 tar、直接压缩单个文件的传统格式。只有在仅需压缩 1 个文件(例如单个日志文件)时才能选择。
  • 打包大量文件或体积很大的文件时,由于处理过程占用浏览器内存,可能会比较耗时,在某些环境下甚至会失败。如果总体积达到数百 MB 至数 GB,建议分成几批分别压缩。

常见问题

不会。压缩处理完全在浏览器内完成,文件内容绝不会发送到服务器。

内容完全相同。.tgz 是早期操作系统要求文件名不超过 8 个字符时代遗留下来的写法,只是一个更短的别名。如果对方或所用工具没有特别要求,选择常见的 .tar.gz 即可。

不可以,因为 tar・gzip 格式本身并没有密码保护机制。如果需要密码保护,请使用姊妹工具 ZIP 压缩工具。

由于跳过了 gzip 压缩处理,速度更快。如果要打包的是 JPEG、MP4、ZIP 等已经压缩过的文件,压缩前后体积几乎不变,此时选择不压缩更有利。

请使用同属"文件操作"分类下的"GZ・TAR.GZ 解压工具",支持 .gz・.tar.gz・.tgz・.tar 全部格式。
ツールくん

闲话 ― tar 的 512 字节与 PAX 扩展头

tar 这种文件格式最初是为 20 世纪 70 年代的磁带设备(Tape ARchive)设计的,因此数据以 512 字节为单位划分成一个个"块"。如果文件内容不是 512 字节的整数倍,末尾就会补 0 填充,凑齐到下一个块边界。正是这种简单的结构,让 tar 至今仍是一种易于实现、又与流式处理天然契合的格式。

旧式的 ustar 格式头部中,用于存放文件名的字段只有短短 100 字节。如果要把层级很深的文件夹或名称很长的文件打包进 tar,往往会超出这个限制。为此人们设计出了 PAX 扩展头:在正式条目之前插入一个特殊的块,用来记录"真正的文件名",从而变相突破了长度限制。本工具对超过 100 字节的路径也会自动附加 PAX 扩展头。

与 ZIP 不同,tar 和 gzip 的组合并没有密码保护机制。这是因为 tar 只负责"打包",gzip 只负责"压缩",两者都是各司其职的单一功能工具。如果需要分发机密性较高的文件,请使用支持加密的姊妹工具 ZIP 压缩工具。