为什么 Mac OS X 别名文件这么大?

ben*_*ado 7 hfs alias filesystems macos

在 Mac OS X 上,我的 Applications 文件夹中有两个别名,每个别名都指向另一个文件夹。它们每个都是 1 MB。为什么这么大?

我在互联网上找到了其他来源说是的,别名文件可能很大,但没有解释原因。即使他们存储了大量冗余信息以在目标文件移动时找到它,我也无法想象为什么需要一整兆字节。

Arj*_*jan 3

首先,我想知道 1 MB 是否正确:确实如此,Finder 的显示信息会告诉您这一点,但在终端中,文件大小始终只是该大小的一半。奇怪的。

大小是由于嵌入的图标造成的。请注意,应用程序的别名(更准确地说:应用程序)可能比普通文件夹的别名小得多。因此,我猜普通文件夹使用的图标比 iTunes 等图标的清晰度更高。事实上,如果您更改源的图标,别名的图标不会更改。

在终端中您将看到:

ls-l@

drwxr-xr-x 2 arjan 工作人员 68 十一月 14 09:20 MyFolder
-rw-r--r--@ 1 arjan 员工 519012 11 月 14 日 09:20 MyFolder 别名
    com.apple.FinderInfo 32
    com.apple.ResourceFork 518659

drwxr-xr-x 2 arjan 工作人员 68 十一月 14 09:26 MyOtherFolder
-rw-r--r--@ 1 arjan 员工 519040 十一月 14 09:26 MyOtherFolder 别名
    com.apple.FinderInfo 32
    com.apple.ResourceFork 518679

因此:文件名中的每个字母在“资源分支”中多出 4 个字节,并且在文件系统上填充了一些内容。同一个资源叉还包括图标。如果您安装了 Apple 开发者工具:

DeRez“MyFolder 别名”> MyFolderAlias.txt

然后,该文本文件会显示超过 32,000 行代表该图标的文本。

(另请参阅 Ars Technica关于 HFS+ 的内容。如果没有开发人员工具,您可以使用它来xattr -l查看这些扩展属性中的内容。)