shellinfo tips

LN – Using symbolic and hard links in Linux

The ln command is a fundamental tool in the Linux command-line interface, used for creating links between files. It supports creating two types of links – hard links and symbolic (or soft) links. In this blog post, we’ll delve into the ln command, providing a comprehensive understanding with practical examples.
The Basics of ‘ln’ Command

The ln command is primarily used to create links between files. The basic syntax of the ln command is as follows:


Here, TARGET is the file you want to link to, and LINK_NAME is the name of the link.
Creating Hard Links

A hard link is essentially a mirror of the original file. When you create a hard link, you’re creating a new file that points to the same data as the original file. Here’s how you can create a hard link:

ln file.txt link_to_file.txt

In this example, link_to_file.txt is a hard link to file.txt. Any changes made to file.txt will be reflected in link_to_file.txt, and vice versa.
Creating Symbolic Links

A symbolic link, also known as a soft link, is a special kind of file that points to another file or directory. Unlike a hard link, a symbolic link can point to a file or directory on a different filesystem. You can create a symbolic link using the -s option:

ln -s file.txt symlink_to_file.txt

In this example, symlink_to_file.txt is a symbolic link to file.txt. If you delete file.txt, the symbolic link will still exist but will point to a file that no longer exists.
Overwriting Links

By default, the ln command will not overwrite existing files. If you want to overwrite an existing link, you can use the -f (force) option:

ln -sf file.txt symlink_to_file.txt

This command will create a symbolic link symlink_to_file.txt to file.txt, overwriting symlink_to_file.txt if it already exists.