Ubuntu – Symbolic links vs Windows shortcuts


What are the differences between symbolic links in Ubuntu and Windows shortcuts? Are they analogous concepts? Or is there something in Ubuntu that resembles more Windows shortcuts?

Best Answer

  • Yes and no.

    In order to understand the vagaries here, you need to understand the relationship between the inode table, and data written to disk.

    Windows shortcuts are path data contained in regular files. Think of them like text files which only contain a URI for a file. From Wikipedia:

    Shortcuts are treated like ordinary files by the file system and by software programs that are not aware of them. Only software programs that understand shortcuts (such as the Windows shell and file browsers) treat them as references to other files.

    Another difference are the capabilities of the mechanism: Microsoft Windows shortcuts normally refer to a destination by an absolute path (starting from the root directory), whereas POSIX symbolic links can refer to destinations via either an absolute or a relative path. The latter is useful if both the location and destination of the symbolic link share a common path prefix, but that prefix is not yet known when the symbolic link is created (e.g., in an archive file that can be unpacked anywhere).

    Microsoft Windows application shortcuts contain additional metadata that can be associated with the destination, whereas POSIX symbolic links are just strings that will be interpreted as absolute or relative pathnames.

    Windows Vista, 7 and 8 also support symbolic links natively under NTFS

    POSIX-Compliant symbolic links are not files. Instead, they are entries into the inode table which are automatically resolved by the file system. Any software program, upon accessing a symbolic link, will see the target instead, whether the program is aware of symbolic links or not.

  • Related Question