查看文件系统根目录
当理解了 macOS 的文件,都与系统的文件树(File Tree)相关联时,就能看破不少软件界面上的障眼法(在 macOS Catalina 之后,出于安全考虑,重要系统文件都被转移到单独的文件树中,与一般文件隔离开来。这一机制有些复杂,这里不做展开,如果有兴趣可以阅读 这篇文章)。
在访达的侧边栏上,最上方是一列个人收藏,其实都是这些文件夹快捷方式,免去用户要从文件根目录找起的麻烦。例如「应用程序文件夹」,就是根目录下的文件夹(使用快捷键 ⌥Option - ⌘Command - P 可以在访达底部显示选中文件的路径)。
不仅是这些本地文件,甚至 iCloud 云盘中的文件,都同样位于系统的文件树之中。打开「终端」应用,拖动 iCloud 云盘中的文件到终端界面中,就会显示出文件的真实路径。可以看到,iCloud 云盘文件其实位于/Users/用户名/Library/Mobile Documents文件夹之下。
资源库在上文讨论 Windows 与 macOS 打开文件的逻辑之分时,曾留下一个疑问:为什么有的应用是直接打开应用,在边栏选择文件;而有的应用则是在文件管理器中选择文件,这两个设计模式的区别在哪?又为什么会产生这样的区别呢?
想解答这个问题,就必须理解「资源库」这个概念。
之前说过,应用的本质是处理文件的工具,而文件又都占据着系统文件树中的一个位置,这自然就产生一个问题,应用应该如何管理自己要处理的文件。一种方案是「不管理」,就是放任文件在文件树中的不同位置,通过文件夹来整理文件。例如摄影师需要管理他的照片,就根据拍摄日期不同,把照片文件分门别类地放置进去。
这个方案的好处是心智成本低,适用于所有不同类型的文件。但坏处是找起文件来太麻烦了,如果是按拍摄日期分类,那如何快速找出同一个地点的照片呢?总不能人工把每个文件夹看一遍吧?因此一种补充手段是给文件加标签,给照片打上地点标签,就能快速找到。但标签一多,标签本身管理起来就非常有挑战性。另外针对不同类型的文件,文件管理器只能以图标或文件名的形式展示,可以呈现的信息非常单一。
照片应用 | 图片来源:苹果
因此,资源库作为另一种文件管理的方案被设计出来,它将应用所用到的文件,组合成一个资源库。以「照片」应用为例,它是典型使用了资源库的应用。所有照片被导入到「照片」应用之后,就不再以单个文件的形式存在,而是成为资源库的一部分。导入之后,照片文件就可以删除以节省空间,「照片」应用的照片不会受到影响。「照片」内的所有照片,存放在「照片图库」这个文件中(文件路径是 /Users/用户名/Pictures/Photos Library.photoslibrary)。类似的,「音乐」应用内所有的音乐文件,都存放在「Music Library」资源库中。
资源库的好处是能配合应用的功能,便捷地管理文件。例如「照片」应用有根据地点、拍摄时间甚至拍摄对象来自动分类图片。不同应用可以为自己的资源库,设计专门的展示效果,例如「音乐」应用,就能显示歌曲的歌词。
但这一方案的缺点同样明显,就是文件管理的灵活性非常差。如果用文件夹来管理文件,想要分享给朋友,直接传输文件即可。而到了资源库这里,首先要看应用支不支持导出某个文件,如果不行只能通过应用内的分享功能。其次一个应用的资源库,通常只能管理特定类型的文件,例如「照片」应用不能导入音乐文件,反之亦然。
所以即使 macOS 和 iOS 推动资源库这一概念多年,文件夹为核心的管理方案还是顽强地存活了下来,甚至在 iOS 上,苹果不得不逐步融入文件夹的概念,先是推出了「文件」应用,后来又为第三方应用提供「File Provider」等功能,算是对用户习惯的妥协。
照片图库内的文件夹结构
最后要说明的是,macOS 同样继承了 Unix「一切皆文件」的设计哲学,资源库本质上仍然是一个文件夹。选中照片图片点击右键,点击「显示包内容」,就能看到资源库内部的文件夹和文件。
小结本篇文章我们首先了解 Mac 应用最常见的三栏式布局,知道了工具栏和检查器的作用。其次了解了 macOS 文件系统的结构,最后通过对资源库的探讨,更近一步理解 Mac 应用的一些设计取向和文件管理方式。
理解这些概念看似简单,但其实任何 macOS 的使用技巧,都在围绕这几个概念做文章。
如果你对它们还有任何疑问,欢迎在评论区中提问。