From the user point of view, for the purposes of file content, symbolic link is the same as the target file:
Symbolic links operate transparently for most operations: programs that read or write to files named by a symbolic link will behave as if operating directly on the target file.
However, it appears that there are situations when a symbolic link cannot be used instead of the actual file (Symbolic links to icns files are ignored on Mac OS X).
Are there any other examples in more conventional unixes?
Specifically, are there situations when a symbolic link cannot be used instead of the actual file?
The aspects I am aware of (and thus not interested in) are:
- Of course, there are many examples of unix commands distinguishing symlinks from their targets (
find&c). However, these commands deal with files as file-system objects, not their contents.
- Other examples include security measures (e.g.,
geta link to a file outside the tree).
- Still more examples can be invented using "power tools" (e.g.,
emacscan behave differently depending on whether called on a symbolic link).
- A developer can, of course, easily distinguish between files and links - and thus screw the user over. So, when did they actually screw the user (for no good reason, like with the Mac icons above)?