Why are Mac OS X alias files so large?
First of all, I wonder if the 1 MB is correct: true, Finder's Show Info tells you this, but in Terminal the file sizes are always just half of that. Odd.
The size is due to embedded icons. Note that an alias to an application (more precisely: an application bundle) might be much smaller than an alias to a plain folder. Hence, I guess plain folders use a higher definition icon than, for example, iTunes does. And indeed, if you change the icon of the source, the icon of the alias is not changed.
In Terminal you'll see:
ls -l@ drwxr-xr-x 2 arjan staff 68 Nov 14 09:20 MyFolder -rw-r--r--@ 1 arjan staff 519012 Nov 14 09:20 MyFolder alias com.apple.FinderInfo 32 com.apple.ResourceFork 518659 drwxr-xr-x 2 arjan staff 68 Nov 14 09:26 MyOtherFolder -rw-r--r--@ 1 arjan staff 519040 Nov 14 09:26 MyOtherFolder alias com.apple.FinderInfo 32 com.apple.ResourceFork 518679
So: 4 bytes more in the "Resource Fork" for each letter in the file name, and on the file system things are padded a bit. That same Resource Fork also includes the icons. If you have the Apple Developer Tools installed:
DeRez "MyFolder alias" > MyFolderAlias.txt
That text file then shows you more than 32,000 lines of text that represents the icon.
(See also Ars Technica about HFS+. Without the Developer Tools, your can use xattr -l
to kind of see what's in those extended attributes.)