Does Mathematica have any function to resolve a Unix symlink (recursively, if necessary) to its real path?
If Mathematica doesn't have one or if its existence is not immediately evident from the documentation, you can easily whip up an equivalent in under a minute using the operating system's tools. We'll use
readlink to resolve the symlink using the
readlink - print value of a symbolic link or canonical file name
canonicalize by following every symlink in every component of the given name recursively, all components must exist
Clear@readlink readlink[link_String] := Import["!readlink -e " <> link, "Text"]
Mac users might want to install GNU coreutils and use
greadlink instead of the default that ships with Apple (you might also have to replace the executable above with its full path). As an example, on my system:
readlink["~/.vimrc"] (* "/Users/username/.vim/vimrc" *)
If no output is returned, the input was not a valid symbolic link. You can use this to extend the above definition to include error messages, warnings, etc.
Complete list of file system object properties: