跳到正文

打开TAR或TAR.GZ文件

无需打开终端,就能解压来自Linux和macOS的压缩包。TAR、TAR.GZ、TGZ和普通GZ都能读取,不存储任何文件。

  • 绝不存储
  • 无需排队,无需等待
  • 无需注册,无水印

使用方法

1

添加压缩包

TAR、TAR.GZ、TGZ或单个gzip压缩文件。压缩过的会先自动解压。

2

查看内容

每个文件都会连同大小和所在文件夹一起列出。链接会显示为链接,不会被跟随。

3

取出所需文件

下载单个文件,或把全部文件打包成一个随处都能打开的ZIP下载。

两种格式叠在一起,以及下载无法还原的东西

.tar.gz是叠在一起的两种格式,TAR的几乎所有特点都由此而来。TAR本身什么都不压缩:它把文件首尾相连拼成一条数据流,每个文件前面有一个512字节的文件头,记录名称、大小、权限、所有者和时间戳。压缩是包裹在整体外面的另一层——gzip、bzip2或xz——所以扩展名会叠在一起,压缩比也比ZIP更高:ZIP逐个压缩文件,无法利用文件之间的重复内容,而压缩过的TAR把整条数据流当作一个整体来压缩。

同样的叠加结构也解释了TAR唯一真正的弱点。由于压缩包裹了一切,根本没有目录可读:要列出.tar.gz的内容,就得从头开始解压;要取出最后一个文件,就得全部解压。而ZIP不管多大都能瞬间列出。这是磁带时代的设计取舍,那时顺序读取是唯一的选择——TAR这个名字(tape archive)正是由此而来。

Unix权限和符号链接会被列出,但无法还原,而对于人们使用TAR的场景来说,这是最要紧的限制。下载下来的都是普通文件,只带普通权限,所以可执行脚本取出来后不再可执行,符号链接取出来后则是它实际的样子——一个包含所指向路径的小文件。如果您要解压源代码包来编译,这就是实实在在的障碍,而不是细枝末节——元数据会在这里读取并显示,但下载无法携带它。

所有权也值得一提。TAR会记录每个文件所属的用户和用户组,这正是为什么人们会被警告不要在服务器上以root身份解压TAR。这些都不适用于下载,这也是这里唯一比命令行更安全的地方。

如果您需要的是别的

如果您要实际使用这些文件,而不只是看看,答案就是tar本身,每台Mac和Linux电脑都已自带:tar -xzf archive.tar.gz能还原权限、符号链接、所有权和时间戳,直接解压到磁盘,没有内存上限,任何大小的压缩包都能处理。Windows从2018年起也内置了它,所以在普通命令提示符里就能用tar -xf。

这个页面帮不上忙的,恰恰是TAR存在的意义所在:解压源代码包来编译、还原备份,或在电脑之间完整保留结构地迁移整个目录树。这三件事都依赖下载会丢弃的那些元数据。这个页面适合查看压缩包里有什么,或者在无法安装软件的电脑上取出某个文档或图片。

常见问题

.tar和.tar.gz有什么区别?

.tar完全不压缩——它只是把多个文件拼成一个,保留它们的名称和文件夹。.tar.gz则是在同样的包外面整体套了一层gzip。先拼接、后压缩,正是.tar.gz往往比同样文件的ZIP“更小”的原因:gzip把所有文件看作一条连续的数据流,能发现跨越文件边界的重复内容,而ZIP逐个压缩文件,每次都从头开始。

我的压缩包会被存储在什么地方吗?

不会。不存储任何文件,也不保留任何内容;页面加载完成后,即使关掉Wi-Fi也照样能用。对压缩包来说这一点比大多数文件更重要——装着报税资料的压缩包、某个文件夹的备份,正是不该交给陌生人服务器的东西。

长文件名能正常显示吗?

能。最初的tar格式无法存储超过100个字符的名称,为此先后出现了两种互不兼容的扩展——GNU扩展和POSIX pax。这里两种都能读取,所以来自任何实际系统的压缩包,解压后名称都完好无损。

符号链接会怎样处理?

会连同其指向的目标一起列出,但绝不会被跟随。跟随压缩包内的链接,是诱骗解压程序把文件写到不该写的位置的经典手段之一,所以干脆不这样做。

有大小限制吗?

取决于可用内存,而不是固定的大小上限。在格式允许的情况下,超大压缩包会一次只打开一个文件,所以大ZIP能瞬间列出,只有您要的那个文件才会被解压。

打开陌生人发来的TAR安全吗?

压缩包是唯一一种“内容”本身可能带有恶意的文件,所以在您看到任何东西之前,两种老式攻击就已经被处理掉了。压缩包里的文件可以被命名为“../../something”,企图逃出解压目标文件夹——这类名称会被限制在文件夹内,并告诉您哪些名称被改动过。压缩包也可能只有几KB,解压后却有数TB,足以让浏览器标签页崩溃;这种情况会先被测算出来并直接拒绝,而不是硬着头皮去解压。

小贴士: TAR、TAR.GZ、TAR.BZ2和TAR.XZ都能打开——后三种通过libarchive处理,而它只在真正打开压缩过的压缩包时才会加载,因此处理普通TAR时依然轻巧。Unix权限和符号链接会被列出,但无法还原:浏览器对这两者都没有访问权限。

把这个工具放到您的网站上

博客、课程页面或帮助文章均可免费使用。粘贴一段代码,访客就能直接在您的页面上使用。