Skip to content

搞英语 → 看世界

翻译英文优质信息和名人推特

Menu
  • 首页
  • 作者列表
  • 独立博客
  • 专业媒体
  • 名人推特
  • 邮件列表
  • 关于本站
Menu

超空间

Posted on 2025-02-26
超空间截图

当我在 1984 年发现类型和创建者代码1以及资源分支如何为我的原始 Macintosh 上出色的用户界面做出贡献时,我对文件系统产生了兴趣。在 20 世纪 90 年代末,当 Apple看起来可能会收购Be Inc.来解决其操作系统问题时, Be 文件系统是我最兴奋的部分。当 Apple 收购 NeXT 并(最终)创建 Mac OS X 时,我对 ZFS 成为 Mac 新文件系统的可能性感到非常热衷。但那也没有发生。

最后,在 WWDC 2017 上,Apple 宣布推出适用于 macOS 的Apple 文件系统(APFS)(在秘密测试将每个人的 iPhone 转换为 APFS,然后将其恢复为 HFS+,作为早期 iOS 10.x 更新的一部分,这是历史上最大胆的技术策略之一)。

APFS 不是 ZFS,但它仍然比HFS+有了巨大的飞跃。它最重要的两个功能是时间点快照和写时复制克隆。快照可实现更可靠、更高效的Time Machine备份。写时复制克隆基于支持快照的相同底层架构功能:目录条目及其相应文件内容之间的灵活安排。

如今,大多数 Mac 用户甚至没有注意到使用 Finder 中的“复制”命令来复制文件实际上并没有复制文件的内容。相反,它会创建一个“克隆”文件,与原始文件共享其数据。这就是为什么在 Finder 中复制文件几乎是即时的,无论文件有多大。

尽管自从近八年前推出 APFS 以来我就了解了克隆文件,但除了知道在 Finder 中复制大文件时没有占用更多磁盘空间这一小小的兴奋之外,我并没有对它们进行太多思考。但去年年底,随着我的 Mac 磁盘慢慢变满,我开始思考如何才能恢复一些磁盘空间。

如果我能找到具有相同内容但不是彼此克隆的文件,我可以将它们转换为全部共享磁盘上数据的单个实例的克隆。我花了一个下午的时间编写了一个 Perl 脚本(调用一个用 C 编写的命令行工具和另一个用 Swift 编写的命令行工具)在我的磁盘上运行,看看这样做可以节省多少空间。结果是很多:几十GB。

事已至此,已经没有回头路了。我必须把它做成一个应用程序。有很多 Mac 应用程序可以通过查找重复文件然后删除重复项来节省磁盘空间。使用 APFS 克隆,我的应用程序可以回收磁盘空间,而无需删除任何文件!作为一名数字包装狂,这对我来说非常有吸引力。

到那周末,我已经编写了一个准系统的 Mac 应用程序来完成与我的 Perl 脚本所做的相同的事情。在接下来的几个月里,我完善并测试了该应用程序,并将其命名为Hyperspace 。我很高兴地宣布 Hyperspace 现已在 Mac App Store 上架。

The Hyperspace app icon, created by Iconfactory

在 Mac App Store 上下载 Hyperspace

Hyperspace 可以免费下载,并且可以免费扫描以查看可以节省多少空间。要真正回收任何空间,您必须为应用程序付费。

像我所有的应用程序一样,超空间有点难以解释。我已在超空间文档中详细尝试这样做。我希望它对足够多的人来说有足够的意义,它将成为 Mac 生态系统的一个有用的补充。

对于可能好奇的开发人员同事来说,这是我的第二个使用 SwiftUI 的 Mac 应用程序,也是我的第一个使用SwiftUI 生命周期的应用程序。这也是我使用 Swift 6 的第二个应用程序,也是我从开发初期就使用的第一个应用程序。我发现从(几乎)一开始就使用 Swift 6 比将现有的、已发布的应用程序转换为 Swift 6 容易得多。即便如此,Swift 6 仍然存在许多粗糙的边缘,我期待在未来几年中事情会变得更加平滑。

在ATP 最近的一集中,我将当时未命名的超空间描述为“一个极其危险的应用程序”。与从 HFS+ 转换为 APFS 的过程类似,Hyperspace 会修改并非由其创建且不拥有的文件。到目前为止,这是我创建的风险最高的应用程序。 (回收磁盘空间并不像给农作物撒粉……)但我也认为这可能对大多数人来说是最有用的。我希望你喜欢它。


  1. 请注意,类型和创建者代码不存储在资源分支中。 ↩

原文: http://hypercritical.co/2025/02/25/hyperspace

本站文章系自动翻译,站长会周期检查,如果有不当内容,请点此留言,非常感谢。
  • Abhinav
  • Abigail Pain
  • Adam Fortuna
  • Alberto Gallego
  • Alex Wlchan
  • Answer.AI
  • Arne Bahlo
  • Ben Carlson
  • Ben Kuhn
  • Bert Hubert
  • Bits about Money
  • Brian Krebs
  • ByteByteGo
  • Chip Huyen
  • Chips and Cheese
  • Christopher Butler
  • Colin Percival
  • Cool Infographics
  • Dan Sinker
  • David Walsh
  • Dmitry Dolzhenko
  • Dustin Curtis
  • Elad Gil
  • Ellie Huxtable
  • Ethan Marcotte
  • Exponential View
  • FAIL Blog
  • Founder Weekly
  • Geoffrey Huntley
  • Geoffrey Litt
  • Greg Mankiw
  • Henrique Dias
  • Hypercritical
  • IEEE Spectrum
  • Investment Talk
  • Jaz
  • Jeff Geerling
  • Jonas Hietala
  • Josh Comeau
  • Lenny Rachitsky
  • Liz Danzico
  • Lou Plummer
  • Luke Wroblewski
  • Matt Baer
  • Matt Stoller
  • Matthias Endler
  • Mert Bulan
  • Mostly metrics
  • News Letter
  • NextDraft
  • Non_Interactive
  • Not Boring
  • One Useful Thing
  • Phil Eaton
  • Product Market Fit
  • Readwise
  • ReedyBear
  • Robert Heaton
  • Ruben Schade
  • Sage Economics
  • Sam Altman
  • Sam Rose
  • selfh.st
  • Shtetl-Optimized
  • Simon schreibt
  • Slashdot
  • Small Good Things
  • Taylor Troesh
  • Telegram Blog
  • The Macro Compass
  • The Pomp Letter
  • thesephist
  • Thinking Deep & Wide
  • Tim Kellogg
  • Understanding AI
  • 英文媒体
  • 英文推特
  • 英文独立博客
©2025 搞英语 → 看世界 | Design: Newspaperly WordPress Theme