There's actually a very significant difference - a symlink just resolves to a fixed path, whereas an alias always resolves to the same file/folder, no matter where it is moved within the filesystem. They remember things like which volume a file is on as well, so if you were to have an alias on a file server or a disconnected drive it would automatically remount the server or ask you to connect the missing volume. (EDIT: Or at least, used to in pre-OS X times. Just tried it now with an external hard drive and it failed to ask for the volume back. Still works with file servers, though.)
That alias also points to the same file no matter which Mac it is moved to, so if you create an alias to a folder on a server, you can copy that to 10 different Macs and it will always resolve so long as it can contact the file server.
Since they act so differently, you really can't replace one with the other without breaking expected behavior.
Re:Ask HN: best file manager for OS X?
by stevejohnson on Saturday April 18, 2009 @03:11PM
(#568613)
Sorry for the mistake. When you do a normal "ln -s" on the console, it looks exactly the same as an alias in the Finder with the little arrow overlay, which is why I was confused.
To be fair, this creates an Alias, which is a Finder/GUI level construct, and not a file system level contstruct like a symlink. If you're just doing things graphically, there's not a significant difference, but at the command line an Alias won't do you any good. Symlinks work the same at the command line or in the GUI.
(I know aliases are a holdover from classic, but I don't see why they weren't replaced with symlinks during the OS X transition.)