Symbolic links, also known as symlinks, are special files that allow you to create a shortcut to another file or directory on your system. They are an essential tool in Linux that can help you save disk space, streamline file organization, and simplify the development workflow.
- A hard link is effectively an identical replica of the file, therefore the hard link and the actual file will both have the same inode.
- A soft link, also known as a symbolic link, functions similarly to a shortcut or pointer to a file. It is not an exact replica of the file, but rather a pointer to the original.
In this article, we will cover how to create and manage symbolic links in Linux.
Creating a Symbolic Link in Linux
There are two type sof symbolic links available: 1. soft links and 2. hard links.
1. Create Soft Link
Use following command to create a soft link of Apache configuration file under /etc directory. While creating softlink of file inode number will be different that original file.
ln -s /etc/httpd/conf/httpd.conf /etc/httpd.conf
Check soft link and original file inode number.
ls -li /etc/httpd/conf/httpd.conf /etc/httpd.conf
4035744 lrwxrwxrwx 1 root root 11 Jan 10 03:19 /etc/httpd.conf -> /etc/httpd/conf/httpd.conf6130556 -rw-r--r-- 1 root root 24 Nov 16 11:29 /etc/httpd/conf/httpd.conf
2. Create Hard Link
Use following command to create a hard-link of Apache configuration file under /etc directory. While creating hard-link of file inode number will be same as original file.
ln /etc/httpd/conf/httpd.conf /etc/httpd.conf
Check soft link and original file inode number.
ls -li /etc/httpd/conf/httpd.conf /etc/httpd.conf
6130556 -rw-r--r-- 2 root root 24 Nov 16 11:29 /etc/httpd.conf6130556 -rw-r--r-- 2 root root 24 Nov 16 11:29 /etc/httpd/conf/httpd.conf
You can read this tutorial to understand differences between soft link and hard link on the Linux file system.
Managing Symbolic Links
Once you have created symbolic links, you may need to manage them, such as deleting them or changing the target. Here are some common tasks for managing symbolic links in Linux.
Deleting a Symlink
To delete a symbolic link, use the rm command. The syntax for deleting a symbolic link is as follows:
1 | rm [link_name] |
For example, to delete the symbolic link link_to_document, you would run the following command:
rm link_to_document
Changing the Target of a Symlink
To change the target of a symbolic link, you need to delete the existing symbolic link and create a new one with the updated target.
For example, if you want to change the target of the symbolic link link_to_folder to new_important_folder, you would run the following commands:
rm link_to_folder
ln -s /path/to/new_important_folder /path/to/link_to_folder
Practical Uses for Symbolic Links
Symbolic links, also known as symlinks, are a powerful feature in Linux that allow you to create a shortcut from one file or directory to another. This article will discuss 5 practical uses for symbolic links in Linux, along with examples for each use case.
- Linking to frequently used files or directories
If you frequently use a specific file or directory, you can create a symbolic link to it in a more convenient location, such as your home directory. For example, to create a symbolic link to a file in the /etc/ directory, you would run the following command:
ln -s /etc/file ~/file
Now, you can access the file in the /etc/ directory by simply using the link in your home directory.
- Creating a backup of a file or directory
By creating a symbolic link to a file or directory, you can easily create a backup without having to copy the entire file or directory. This is useful if you need to make changes to the original file or directory, but want to keep a backup in case anything goes wrong. For example:
ln -s /path/to/original /path/to/backup
Now, any changes you make to the original file or directory will be reflected in the backup.
- Linking to system libraries
In some cases, you may need to use a newer version of a library than the one provided by your Linux distribution. By creating a symbolic link to the newer library, you can use it in place of the older one without having to make any changes to the system. For example:
ln -s /path/to/new/library /usr/lib/library
Now, any programs that depend on the library will use the newer version instead of the older one.
- Creating a common location for data files
If you have multiple programs that need access to the same data files, you can create a symbolic link to those files in a common location. For example:
ln -s /path/to/data/files /usr/share/data
Now, any programs that need access to the data files can simply use the symbolic link in the common location.
- Creating multiple links to a single file or directory
Finally, you can create multiple symbolic links to a single file or directory, allowing you to access it from multiple locations. For example:
ln -s /path/to/original ~/link1
ln -s /path/to/original ~/link2
Now, you can access the original file or directory from both ~/link1 and ~/link2.
Conclusion
Symbolic links are a powerful tool in Linux that can help you save disk space, streamline file organization, and simplify the development workflow. In this article, we covered how to create and manage symbolic links in Linux using the ln command and the terminal. By understanding how to create and manage symbolic links, you can make the most of this useful feature in Linux.