补上 Mac 落下的那一块的压缩包工具

更新于 · 作者

向你推销这类工具的页面开头都一样:macOS 搞不定 rar 和 7z。这话有一半是错的。.7z 什么都不装就能双击打开,而大多数 rar 用你硬盘上现成的代码,在「终端」里就能解开。你的 Mac 不肯做的是给 rar 一次双击——而且真正有人发给你的那些压缩包,它会直接卡住。这个缺口,就是这个模块的用处。

macOS 菜单栏中的 hop 面板:archives
archives in hop at a glance
what it isarchives inside hop, a menu bar app for macOS
pricefree — no trial, no pro tier, no account
licenceMIT, source on GitHub
requiresmacOS 14 or later, Apple silicon or Intel
works offlineyes
data sent anywherenone
download hopfree · macOS 14+ · Apple silicon and Intel

不装压缩包工具,Mac 本来就能做什么

「归档实用工具」是系统自带的,而且没有自己的窗口:你双击它认得的东西,它就跑起来,在原件旁边解开,然后退出。zip 是最明显的那一个——同一个应用也负责做 zip,入口是「访达」右键菜单里的「压缩」。

Apple 只写了 zip 这一半就停下了,剩下的部分被传得那么离谱,这多少是个原因(英文页面): 在 Mac 上压缩和解压文件与文件夹

macOS 原生能打开 7z 吗?

能,而且已经好些年了。「归档实用工具」声明了 7-zip 这个类型,系统也把它列为该类型的默认应用——这条声明在 Launch Services 数据库里看得见。什么都不装,.7z 双击就开。

命令行走得更远。macOS 自带 bsdtar,它的手册页把 7-zip 列在读和写两边——它既读得了这个格式,也写得出来。tar、tar.gz、tar.bz2、tar.xz 和 gz 也是同一回事。

「终端」打得开 rar 吗?

大部分能,而卖压缩包工具的几乎没人提这件事。bsdtar 建在 libarchive 上,而 libarchive 读得了 rar——所以 `tar -xf archive.rar` 什么都不装就能解开相当多的 rar。

文档里写明这个支持是部分的,而那些边界恰恰是关键:RARv3 的压缩包读得了,包括自解压的。固实压缩包——WinRAR 对着一个大文件夹默认做出来的那种——不行,加密的也不行。它会停下来并说明原因,而不是给你留下一个解到一半的文件夹。

确切的范围写在你 Mac 自带的手册页 `man 5 libarchive-formats` 里,项目自己的表格也有(英文页面): libarchive:可读与可写的格式

这些都给不了你的,是一次双击。「访达」里没有任何东西认领 rar,所以这个文件连自己的图标都没有,你非要双击,它就在文本编辑器里打开。

那 Mac 上到底需不需要压缩包工具?

zip 或 7z,不需要——你已经有了一个,而且比你能装的任何东西都安静。简单的情况在两处不再简单:文件是 rar 的时候,以及它是一个 `tar` 不肯接的 rar 的时候。下面讲的都是这两件事。

你手上是什么系统自带的路子用 hop
从下载页拿到的 zip 或 7z双击——「归档实用工具」两个都接用不上,继续双击就行
一个 rar,而开个「终端」窗口对你不算事`tar -xf archive.rar` 能解开大多数不想打字的话,拖一下也是同样的结果
rar 每隔一两周就冒出来一个每一个都得跑一趟「终端」把 rar 在「访达」里交给 hop——双击就在原件旁边解开
别人用 WinRAR 从一个大文件夹打出来的 rar固实压缩包不在 libarchive 的 rar 支持范围里,它会停下并说明hop 会取一个校验过签名的 rar 辅助程序,而不是硬靠系统那个库
一个文件夹,要发给一个只想收一个附件的人右键,「压缩」——只有 zip,也只能是 zip同一个窗口,反过来——把文件夹拖进来,按按钮

这个压缩包工具接得住哪些格式

  • zip
  • rar——让双击彻底失灵的那一个
  • 7z
  • tar、tar.gz、tar.bz2 和 tar.xz
  • gz

这是有意挑的、现实里真会碰到的格式,不是一份「历史上存在过的一切」的目录。有两件事值得知道:碰上 rar 和 7z 时,第一次会去取一个校验过签名的小助手,大约 6 mb,这样从没遇到这两种格式的人,应用就一直是小的。另外,hop 解 rar,但从不创建 rar。

带密码的压缩包两边都不在这份名单上。旁边那个模块干的是隔壁的活——把一种格式变成另一种,而不是把好几个捆在一起: 文件转换器

用 hop 在 Mac 上打开 rar 文件

拖进窗口的压缩包会待在那儿,直到你按下按钮:你挑它该解到哪里——桌面、原件旁边,或者任何一个文件夹——而拖错了也不亏,因为什么都还没发生。文件出现在你指定的地方,压缩包留在原处。

有哪些格式、「访达」默认应用怎么设,以及每个控件做什么——手册那一侧,中文的: 说明书里的文件压缩包

直接从「访达」解压

你也可以让 hop 来打开压缩包,而这一步正是省掉绕路的那一步:双击就在原件旁边解开,自带一个小小的进度窗口。

实际上这只适用于 rar,也只有 rar。这项设置只在没有 Apple 应用认领某个格式时才把它列出来,也能从一个你很久以前装过、早就忘了的工具手里要回来——zip、7z 和那些原生格式留给「归档实用工具」,macOS 不会把它们交出去。卡片显示的是真实状态,所以它不会谎称自己是一个「访达」根本没给出去的默认应用。

这个模块在面板里把自己那一行藏起来也照样能用,所以如果你要的就只是那一次双击,不必有任何东西挡在你面前。

download hopfree · macOS 14+ · Apple silicon and Intel

把文件重新打包成压缩包

拖进来的不是压缩包而是普通文件时,同一个窗口会把它们打成一个——就是那件日常的事:发一个文件夹给一个不想收十四个附件的人。rar 是例外:只解,不做。

这是许可证的事,不是少了个功能——这个格式的条款禁止拿它的源码去重做压缩器,所以任何平台上正经的工具都不提供这一项(英文页面): unrar 许可证

你不发话,什么都不会开始

陌生人发来的压缩包,你不会希望它自己打开自己。把文件拖进 hop 不会启动任何事:窗口显示它手上拿着什么,然后等你按按钮。

一切都在本地完成。没有文件被上传,关掉 Wi-Fi 也照样能用——这正是它和那些跟这一页一起排在搜索结果里的网页解压服务之间全部的差别。那些也能把活干完,代价是你的压缩包在别人的机器上被打开。

这个压缩包工具在哪里到头

它不会打开的压缩包

  • 带密码的压缩包——这个模块两个方向都不承诺。
  • 分卷的一套:part1.rar、part2.rar,或者 .zip 旁边的 .z01 和 .z02。要把其余分卷放在同一个文件夹里,再打开第一卷——光有第二卷,你用什么都打不开。
  • 下载到一半的文件。中途断掉的压缩包报的是「损坏」,而不是「格式不认识」——拿文件大小跟页面上写的对一下。
  • iso、rpm、lha 以及那条长尾。专门的工具会列出四十种格式;这一个列八种——你真会碰到的那八种。

这个模块要对付的是另一种情况:rar 偶尔冒出来一个,而你不太想为它常年留着一个应用——尤其是同一个图标后面已经装着另外十八个工具的时候。

frequently asked questions

macOS 自带压缩包工具吗?
有——「归档实用工具」。它没有窗口,「应用程序」文件夹里也没有图标,所以大家才会注意不到它:你一双击它就跑起来,在原件旁边解开,然后退出。zip、7z、tar 和 gz 走的都是它。
macOS 原生能打开 7z 吗?
能。「归档实用工具」声明了 7-zip 这个类型,系统也把它列为默认应用,所以什么都不装,.7z 双击就开。为这个问题排在前面的页面,大多至今还在说反话。
我的 Mac 为什么打不开 rar 文件?
因为没有东西认领这个类型。rar 是专有格式,读它的代码其实就在系统库里,但「访达」里没有任何应用认领这个文件——所以双击把它交给了文本编辑器,而不是报个错。
它能打开 rar 文件吗?
能——rar、7z、zip、tar、tar.gz、tar.bz2、tar.xz 和 gz。rar 正是 macOS 不给双击的那一个,也是大多数人跑去找压缩包工具的理由。
它也能创建压缩包吗?
能——拖进来的不是压缩包而是普通文件时,它就把它们打包。例外是 rar:只解不做,因为这个格式的许可证禁止重做压缩器。
能直接从「访达」解压吗?
能。让 hop 来打开压缩包,双击就在原件旁边解开,带一个小进度窗口。它只在没有 Apple 应用认领时才接 rar——zip、7z 和那些原生格式留给「归档实用工具」。
它会把我的 zip 抢过去吗?
你不要求就不会,而且它也不会主动提议。默认应用那项设置管的是 rar,而且卡片显示的是真实状态——它不会谎称自己是一个「访达」根本没给出去的默认应用。
有东西会被上传吗?
没有。解压和打包都在你自己的 Mac 上进行,而且两件事断网也能做——这一点和那些网页解压服务不同,在那里,你的压缩包是在别人的服务器上被打开的。

other tools in hop

  • keyboard lockwipe the keyboard clean without shutting the Mac down.
  • vpn switcherevery vpn your Mac knows about, one switch each.
  • clipboard historyeverything you copied — text, links, screenshots and whole files.

关于作者

hop 的作者 Anton Shakirov

开发 hop

开发 hop,也编写本站的每一页。十九个工具收在一个菜单栏图标下,MIT 许可,源码公开。issue 和邮件都由他本人阅读和回复。

download hopfree · macOS 14+ · Apple silicon and Intel