How to Create Symbolic Link for Files and Folders in Linux

Symbolic link or soft link is a special type of file that contains a reference, which points to another file or directory. It is supported on almost all Linux distributions. Although it points to their target, they operate independently of their targets. We can create links for both files and directories. Removing symbolic link doesn't affect anything but when the original file is removed, the link becomes a 'dangling' link that points to a nonexistent file. Unlike hard link soft links have different inode numbers, ie deleting target file or directory does not remove soft links. These links could be also created across the filesystem.

Create symbolic link for folder

ln command is used to create symbolic links and it uses the following syntax:

ln -s [target directory or file] [symlink shortcut]

For example, to link the /usr/local/lib/sample directory to /sample folder, use the following command:

# ln -s /usr/local/lib/sample /sample

After creating the symbolic link to the folder /sample and it should point to /usr/local/lib/sample, and when user changes directory (cd) to /sample, Operating system shell will automatically change to /usr/local/lib/sample directory. You can view link using ls command. You might have noticed, file type field is showing l that indicates that it is a symbolic link and -> shows link path.

# cd /sample
# ls -l
lrwxrwxrwx 1 root root 21 Apr  7 05:16 sample -> /usr/local/lib/sample

Create symbolic link for files

The symbolic link could be used for files also using the same ln command. Below, example will show how to create a new link (soft) file "filesync" which point to /home/bobbin/sync.sh

# ln -s /home/bobbin/sync.sh filesync

This will create a new link file named selfi.sh in the current directory which will point to /home/bobbin/selfi.sh

# ln -s /home/bobbin/selfi.sh

Conclusion

Symbolic links are used for linux programs, as aliased so that users does not have to know which version of code used.

# which python
/usr/bin/python
# ls -l /usr/bin/python
lrwxrwxrwx. 1 root root 7 Feb 21 13:38 /usr/bin/python -> python2

Don't use soft links as an alternative for backup. Backup is two identical set of data where links are alias names for file or directory.

About Bobbin Zachariah

Founder of LinOxide, passionate lover of Linux and technology writer. Started his career in Linux / Opensource from 2000. Love traveling, blogging and listening music. Reach Bobbin Zachariah about me page and google plus page.

Author Archive Page

Have anything to say?

Your email address will not be published. Required fields are marked *

All comments are subject to moderation.

2 Comments