在macOS中有很多隐藏的文件和文件夹,如果你知道方法,你仍然可以访问这些文件。下面是如何看到隐形文件的方法。
除了基本的Finder使用,还有很多额外的功能。Mac用户喜欢他们的机器,因为它们的设计干净、简单、易于使用和简约的用户界面,但在所有这些优雅的背后是一个全面的强大的UNIX操作系统。
UNIX是1969年在贝尔实验室发明的,最初被设计为在带有分时终端的大型计算机上运行。1997年,当史蒂夫-乔布斯回到苹果时,公司决定将Mac过渡到基于NeXTSTEP操作系统的新的现代UNIX系统,该系统是在史蒂夫的另一家公司NeXT开发的。
NeXTStep和Mac_OS_9结合起来创建了Mac OS X,苹果在2000年发货--现在简单地称为macOS。
最初的UNIX文件系统很复杂,包含数百个目录、数千个小程序和各种其他工具,包括终端外壳和脚本语言--几乎都是可见的,用户可以经常访问。
今天,在macOS上,大部分原始UNIX系统仍然存在,但被隐藏起来,用户很少需要看到它。
你可能想查看Mac上文件系统的不可见部分,出于各种原因。这些原因包括安装第三方UNIX工具、安装开发者工具和软件包、改变登录脚本、删除隐藏的偏好,或者删除macOS第三方安装程序所安装的文件。
出于安全考虑,你可能还想把文件和文件夹隐藏在不可见的位置。
在我们深入了解如何显示Mac上所有不可见的文件之前,请注意,移动、删除或重命名文件系统中不可见的部分会使你的Mac无法启动,所以要谨慎行事。除非你知道自己在做什么,否则不建议访问操作系统的不可见部分。
在Finder中切换隐藏文件
在macOS Ventura Finder中打开或关闭隐形文件的最简单和最容易的方法是同时按下Command-Shift-period键。
你也可以打开一个终端窗口并输入。
defaults write com.apple.Finder AppleShowAllFiles true
之后,按回车键。这就告诉Finder显示文件系统中的所有文件。
你需要重新启动Finder以使这些变化生效。要做到这一点,你可以在苹果菜单的强制退出窗口中强制退出并重新启动Finder,或者你可以在Dock中右击或Control-Option点击Finder图标,从弹出菜单中选择 "重新启动"。
当你强制退出Finder时,任何正在运行的Finder操作,如文件拷贝,将立即被取消。
在Terminal中,你可以用同样的Terminal命令来关闭不可见文件,但将值设置为false:
defaults write http://com.apple.Finder AppleShowAllFiles false
一旦你显示了隐藏文件并重新启动了Finder,你现在就可以完全访问Mac上所有存储设备上所有挂载卷的文件系统的所有部分。
macOS所基于的UNIX版本被称为伯克利套接字分布,它本身是AT&T System V UNIX和加州大学伯克利分校在1980年代初开发的TCP/IP套接字层的合并。当NeXT开发NeXTStep时,它选择FreeBSD作为系统的核心,因为它具有网络功能。
当苹果在1997年收购NeXT时,它稍微修改了核心操作系统,并将其称为达尔文--这仍然是今天macOS和iOS的基础。在他们的核心,这些操作系统是完整的、强大的UNIX系统。达尔文是完全的UNIX。
如果你打开Mac的启动盘,在显示不可见的文件之后,你会看到除了标准的应用程序、系统、库和用户文件夹之外的其他文件夹。
关键的隐形文件夹是:
- bin
- etc
- sbin
- tmp
- usr
- var
苹果选择将其中的3个文件夹(etc、tmp和var)移到一个名为private的新文件夹。
因此,位于启动盘根部的etc、tmp和var文件夹实际上只是别名。大多数单文件的UNIX二进制工具都存放在bin、sbin或usr/local/bin中,或usr/local/sbin中。
为了使事情更加混乱,还有usr/local/etc和usr/local/var目录。
有一些第三方的Mac UNIX工具管理器,如Homebrew,它们可以为你管理额外的第三方UNIX工具在这些位置的安装/移除。
在启动盘根部还有一个传统的UNIX主文件夹,但在macOS中,它不像大多数其他UNIX系统那样使用,因为苹果决定将所有本地用户的主文件夹移到仅有的macOS用户文件夹中。
在启动盘根部的另一个重要的隐形文件夹是Volumes。为了与传统的BSD存储子系统安排保持一致,Volumes包含了Mac上所有挂载卷的所有UNIX挂载点。
系统挂载点和技术的细节相当复杂,超出了本文的讨论范围。
在现代版本的macOS中,Finder窗口现在也会在Volumes文件夹中每个挂载的卷旁边显示一个小小的弹出箭头图标。按下弹出图标可以弹出旁边的卷。
你还可以在Volumes窗口中查看每个卷的创建日期和最后修改日期。
正常情况下使文件和文件夹处于隐藏状态
当隐藏文件在Finder中被关闭时,你可以在任何文件或文件夹的名称前加上一个句号,使其不可见。这就隐藏了该项目,你将无法再次访问它,直到你重新打开隐形文件或通过终端访问它。
例如,Mac上的存储卷将其自定义的Finder图标(如果有的话)存储在卷根的一个文件中,该文件名为.VolumeIcon.icns。Finder在挂载卷的时候会读取这个文件(如果有的话),并使用其中的图标作为该卷的桌面图标。
如果你删除了VolumeIcon.icns,Finder就会为每个卷使用一个通用的系统图标。当不可见文件被关闭时,你看不到VolumeIcon.icns文件,但它还是存在的。.dmg磁盘镜像对其挂载的卷使用类似的方案。
主文件夹、首选项和应用程序支持
当你在Finder中打开隐藏文件时,你也会注意到在你的主文件夹中出现了一系列的隐形文件和文件夹。第三方工具可能在这里的隐形文件或文件夹中存储设置,但macOS在用户的主文件夹中也有一些自己的系统配置文件:
- .cups (UNIX printing)
- .ssh (SSH public and private keys)
- .zsh_sessions (zsh shell session records)
- .bash_profile
- .bash_rc
- .profile (login configuration scripts)
- .inputrc.sh (more Terminal session info)
- .zlogin
- .zsh_history, and .zshrc (more login scripts).
当你的Mac启动并登录时,或者当你退出并重新登录时,系统会运行存储在bash_profile、.bash_rc、.profile、.inputrc.sh、.zlogin和.zshrc中的东西。
首选项存储在macOS文件系统中的三个地方:
- /System/Library/Preferences
- /Library Preferences
- ~/Library/Preferences
在UNIX中,"~"字符意味着用户的主文件夹。
大多数偏好文件是正常可见的,但有些是不可见的,只能通过打开不可见文件在Finder中查看。位于/Library/Application Support和~Library/Application Support的应用程序支持文件夹也是如此。大多数第三方开发者和苹果公司将应用程序所需的额外文件存储在这两个位置。
偶尔在打开隐藏文件的情况下,在Finder中查看系统、库或主文件夹时,你会看到一些文件夹的右下角有一个小徽章--这些是系统限制的文件夹,不应该被篡改。
如果你试图双击这些文件夹中的一个,Finder会发出警告,说你没有权限打开它。
除非你清楚地知道你在做什么,否则不要改变这些文件夹的权限来查看其内容。在受系统限制的文件夹上设置不正确的权限会使你的Mac无法启动,并会妨碍Finder的正常运行。
你可以在Finder获取信息窗口或终端中查看和改变每个文件夹的权限,但要非常小心。UNIX的文件权限是变化无常的,只需要一个错误就可以使你的Mac无法正常工作。
UNIX是一个非常强大的操作系统,而我们还没有触及到它的表面。通过使用Finder中的隐形文件和文件夹,你可以在Mac上做一些其他方式无法做到的事情。
对于那些技术性较强的人来说,关于FreeBSD的权威书籍是McKusik等人写的The Design and Implementation of the FreeBSD 4.4 Operating System,但是请注意:这是一本技术性极强的研究生水平的教科书。你也可以在FreeBSD网站上在线阅读它。
最后一个小的历史提示:如果你想看看最初的NeXTStep操作系统是什么样的,今天你可以在Oracle的VirtualBox或其他虚拟化应用中运行它。AdaFruit有一个很酷的小指南来做这件事。