stevegoldfield wrote:
Unfortunately, UNIX does not allow you to create a hard link to a directory, only to a file. So you are correct.
Nit Picking. macOS can create a directory hardlink, and the Time Machine implementation on HFS+ file systems, before APFS snapshots, use directory hardlinks to make it appear as if the Time Machine backup was a complete copy, when in reality, subdirectory trees of identical files are just a hardlink to the top unmodified directory.
The danger with allowing just anyone to create a directory hardlink is creating infinite linked directory loops. This was actually common in the early Bell Labs and AT&T UNIX releases. It was not until later releases that most UNIX implementations (and later Linux) limited directory hardlinks to the root user, or just totally banned them.
You CAN create infinite loops with symlinks, but the file system kernel level symlink implementation looks for loops and reports an error. As far as I know this was in the first UC Berkley BDS symlink implementations when symlinks were created (yes, I'm old, and I work on file systems for a living 😁 ).
A symlink is a file system low level abstraction, and generally any program or GUI app can use them, and for the most part they are transparent, unless the program or app is asking the file system what kind of object this is. The symlink just stores some text, which the file system namei() code walking file name paths substitutes for the symlink name in the path, and then backs up one level, and continues walking the updated path until it reaches a file, or the loop limit is reached.
An Alias to the directory is just a regular file as far as the file system is concerned. To the GUI file manager framework, it is a special file that contains both a pointer to the file, as well as the file's numeric identifier, so that if the file is renamed, or moved within the same file system, the Alias can still find the file. The Alias can also contain remote shared file system information and arrange for the remote share to be mounted when a GUI app attempts to access it. Finally, and Alias can have its own icon embedded in the alias file.
@stevegoldfield: For your purposes, either would/should work, as you want to have them on your desktop, which is yet another GUI abstraction, and most likely you just want to access these files via the Finder.