Name
ln [options] source target — coreutils
Synopsis
/bin stdin stdout - file -- opt --help --versionA link is a reference to another file, created by the ln command. There are two kinds of links. A symbolic link refers to another file by its path, much like a Windows “shortcut” or a Macintosh “alias.”
$ ln -s myfile softlink
If you delete the original file, the now-dangling link will be invalid, pointing to a nonexistent file path. A hard link, on the other hand, is simply a second name for a physical file on disk (in tech talk, it points to the same inode). Deleting the original file does not invalidate the link.
$ ln myfile hardlink
Symbolic links can cross disk partitions, since they are just references to file paths; hard links cannot, since an inode on one disk has no meaning on another. Symbolic links can also point to directories, whereas hard links cannot… unless you are the superuser and use the -d option.
Useful options | |
| Make a symbolic link. The default is a hard link. |
| Interactive mode. Ask before overwriting destination files. |
| Force the link. If a destination file exists, overwrite it unconditionally. |
| Allow the superuser to create a hard link to a directory. |
It’s easy find out where a symbolic link points with either of these commands:
$ readlink linkname $ ls -l linkname
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access