
Some Unix as well as Linux distributions use symbolic links extensively in an effort to reorder the file system hierarchy. Programs that need to handle symbolic links specially (e.g., shells and backup utilities) thus need to identify and manipulate them directly. Some shells heuristically try to uphold the illusion of a tree-shaped hierarchy, but when they do, this causes them to produce different results from other programs that manipulate pathnames without such heuristic, relying on the operating system instead. Even the Unix standard for navigating to a directory's parent directory no longer works reliably in the face of symlinks. However, they have the effect of changing an otherwise hierarchic filesystem from a tree into a directed graph, which can have consequences for such simple operations as determining the current directory of a process.

Symbolic links operate transparently for many operations: programs that read or write to files named by a symbolic link will behave as if operating directly on the target file. Hard links always refer to an existing file, whereas symbolic links may contain an arbitrary path that does not point to anything. Hard links do not link paths on different volumes or file systems, whereas symbolic links may point to any file or directory irrespective of the volumes on which the link and target reside. Symbolic links are different from hard links. Symbolic links pointing to moved or non-existing targets are sometimes called broken, orphaned, dead, or dangling. If a symbolic link points to a target, and sometime later that target is moved, renamed or deleted, the symbolic link is not automatically updated or deleted, but continues to exist and still points to the old target, now a non-existing location or file.

If a symbolic link is deleted, its target remains unaffected. The symbolic link is a second file that exists independently of its target. This other file or directory is called the "target". 2 POSIX and Unix-like operating systemsĪ symbolic link contains a text string that is automatically interpreted and followed by the operating system as a path to another file or directory.
