O'Reilly logo

Linux Pocket Guide, 2nd Edition by Daniel J. Barrett

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Name

ln — stdin  stdout  - file  -- opt  --help  --version

Synopsis

ln [options] source target

A link is a reference to another file, created by the ln command. Intuitively, links give the same file multiple names, allowing it to live in two (or more) locations at once.

There are two kinds of links. A symbolic link (also called a symlink or soft link) refers to another file by its path, much like a Windows “shortcut” or a Macintosh “alias.” To create a symbolic link, use the -s option:

$ ln -s myfile mysoftlink

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). If you delete the original file, the link still works. Figure 1-5 illustrates the difference. To create a hard link, type:

$ ln myfile myhardlink
Hard link versus symbolic linklinkshard vs. symbolic

Figure 1-5. Hard link versus symbolic link

Symbolic links can point to files on other 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

-s

Make a symbolic link. The default is a hard link.

-i

Interactive mode. Ask before overwriting destination files.

-f

Force the link. If ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required