所有文章

在Mac上不解压就打开ZIP文件

· 阅读约 5 分钟

你下载了一个ZIP,只想看看里面有什么,或者取出其中一个文件。但在Mac上双击它,发生的事情不止于此:归档实用工具会在归档旁边新建一个文件夹,把所有内容都解压进去。在“下载”文件夹里这样来几次,你就会看到一个ZIP、一个同名文件夹,却说不清自己真正需要的是哪一个。

简短的回答:访达不能像打开文件夹那样打开ZIP,但有两种好办法可以查看里面的内容,而不在旁边解压任何东西。在终端里,unzip -l一秒钟就能列出内容。在Folia Files这样的文件管理器里,ZIP会在面板中像文件夹一样以只读方式打开,你只拷贝需要的东西。

在访达中双击ZIP会发生什么

访达把文件交给归档实用工具,后者把所有内容解压到ZIP旁边的一个文件夹里。如果你全都要,这没问题。但在下面这些情况下就不太方便:

  • 归档很大,而你只需要其中一份文稿;
  • 你想在解压之前先确认下载的东西里有什么;
  • 归档里有几百个文件,你只是想把它和已有的文件夹比较一下。

访达没有任何视图可以在不解压的情况下浏览ZIP的内容,所以需要别的工具。

在终端中列出ZIP的内容

macOS自带unzip和zipinfo命令。打开终端,输入cd和一个空格,把存放归档的文件夹拖到窗口上,按↩,然后:

  • unzip -l Atlas.zip列出每个文件的大小和日期,最后给出合计;
  • zipinfo -1 Atlas.zip只显示路径,每行一个,方便用grep查找;
  • tar -tf archive.tar.gz对TAR归档做同样的事(macOS的tar也能读取ZIP)。

想只取出一个文件而不解压其余内容,就在归档名后面写上它的路径:unzip Atlas.zip "Atlas/README.md" -d ~/Desktop只会把这个文件(连同它所在的文件夹)放到桌面上。而unzip -p Atlas.zip "Atlas/README.md"会把文本文件的内容直接显示在终端里,不向磁盘写入任何东西。

这在任何Mac上都能用,而且免费,但需要输入准确的路径,看到的也只是一份列表,而不是文件本身。

在Folia Files中像浏览文件夹一样浏览ZIP

Folia Files是一款Mac文件管理器。在它的面板中双击ZIP,归档就会在这个面板里像普通文件夹一样打开:列表、分栏、图标或图库视图,排序、搜索和预览都照常可用。路径栏会显示你所在的位置,例如 下载 › Atlas.zip;在归档的最上层选择 上层文件夹,就会回到“下载”,并选中这个ZIP。

在Folia Files的面板中像文件夹一样打开Atlas.zip:路径栏显示 下载 › Atlas.zip,状态栏显示 只读归档

其他常见格式也一样:7z、RAR、TAR(包括.tar.gz)和ISO映像。你也可以右键点按归档,选择 浏览归档;如果确实想在旁边全部解压,就选 提取到此处。

归档里的内容不会改变

这样打开的归档是只读的。面板的状态栏会显示 只读归档;如果你想在里面重命名、删除或添加东西,Folia Files会拒绝,并提示归档以只读方式打开。要处理某个文件,就把它拷贝出来:

  • 把它拖到另一个面板、桌面或任意访达窗口:从归档里拖出来的东西总是拷贝;
  • 或者选中它,按⌘C,进入某个文件夹,再按⌘V。

用两个并排的面板会很快:左边是归档,右边是目标位置,只拿你需要的文件。

幕后发生了什么

准确地说“不解压”:Folia Files确实会把归档解压一次,但解压到它自己的临时文件夹里,而不是你下载的文件旁边。“下载”里不会出现任何东西,ZIP本身也从不被修改,不再使用时临时副本会被自动删除。如果解压后的内容超过2 GB,Folia Files会在打开前先询问。从下载的归档中取出的文件会保留“从互联网下载”的标记,因此从中拷贝出来的App在首次打开时仍会接受macOS的检查。

如果你更喜欢原来的方式,开关在 设置 › 文件与网络 › 预览与归档:关闭 像文件夹一样打开归档(zip、7z、rar、tar、iso…),归档就会重新用归档实用工具打开。

设置 › 文件与网络:像文件夹一样打开归档的开关

用空格键看一眼

有时你甚至不想打开归档,只想看一眼。

在Folia Files中,选中一个ZIP并按空格键,或者看右侧边栏的 预览 模块:你会看到文件列表,以及解压后的总大小。在这里,全部提取… 会解压全部内容;选中几行则只提取这些。

在访达中,Folia Files还会安装一个快速查看扩展。选中一个ZIP或TAR归档并按空格键,预览就会显示其中的文件,在邮件和其他App中也一样。如果你更想保留macOS自带的预览,可以在 系统设置 › 通用 › 登录项与扩展 › 快速查看 中关闭这个扩展。对于扩展本身不读取的格式,例如7z或RAR,macOS会像往常一样显示它自己的预览。

该选哪种方法

  • 解压前先看一眼:在归档上按空格键(装有Folia Files扩展的访达,或Folia Files本身)。
  • 从大归档中取出一个文件:在Folia Files中把它当作文件夹打开,再把这个文件拖出来;或者在终端中使用unzip archive.zip "内部路径" -d 目标位置。
  • 脚本,或通过SSH连接的另一台Mac:unzip -l和zipinfo -1。
  • 像平常一样全部解压:在访达中双击,或在Folia Files中选择 提取到此处。

以上方法在Folia Files的两个版本中都能使用:网站版和Mac App Store版。