How to Create Links in Linux Using the ln Command

How to Create Links in Linux Using the ln Command

When working with Linux, it is common to create links between files to make file management easier. These links act as pointers to the original file, allowing you to access it from different locations without making duplicates. The “ln” command is one utility you can use to create links. In this guide, we will explain how to create both symbolic and hard links, the differences between them, and how to use the ln command effectively to make file management more efficient in a Linux environment. We will provide practical examples and useful tips to help you become more skilled at creating and manipulating links and improve your Linux file management abilities.

Links in Linux are crucial for various aspects of system management and operation. Here are five primary uses:

  1. Resource Optimization. Hard links allow multiple references to the same file, saving disk space and facilitating data management without duplicating the actual data.
  2. File Organization and Accessibility. Links provide a way to organize files and make them more accessible by creating shortcuts or replicas in different directories.
  3. System Configuration and Management. Symbolic links are often used to manage system configurations by linking to configuration files, making it easier to manage and update configurations without altering file locations.
  4. Path Resolution. Symbolic links can simplify path resolution, especially in environments where absolute paths are needed, or paths are deeply nested.
  5. Dynamic File Location. Links allow for more dynamic file location strategies. For instance, symbolic links can be used to redirect file locations, making it easier to manage files, especially in shared or networked environments, or during software version upgrades.

The utilization of links in Linux significantly streamlines file and directory management, making it an indispensable feature for administrators and users alike. In the next section, let’s take a look at how to create links using the ln command.

Creating links in Linux is a straightforward process once you understand the basic concepts. There are two types of links you can create: hard links and symbolic (or soft) links. Here’s a step-by-step guide on how to create both using the ln command:

  • Hard Links: A hard link is essentially a mirror of the original file. Both the hard link and the original file share the same inode and data blocks. Any changes made to the hard link will reflect in the original file and vice versa.
  • Symbolic Links: A symbolic link, on the other hand, is a separate file that points to the original file. It’s more like a shortcut. Unlike hard links, symbolic links have their own inode numbers and can span across different filesystems.

Use the syntax “ln source_file link_name” For instance:

ln file1.txt link1

Once you run the command, there won’t be any output message upon successful creation. You can verify this by listing the files using the ls command.

ls -li
1027648 -rw-r--r-- 2 user user 0 Sep 29 13:05 file1.txt
1027648 -rw-r--r-- 2 user user 0 Sep 29 13:05 link1

For the syntax, use “ln -s source_file link_name” For instance:

ln -s file2.txt link2

Similar to hard links, no output message will be displayed. Verify with ls:

ls -l
lrwxrwxrwx 1 user user 8 Sep 29 13:10 link2 -> file2.txt

• For Hard Links:

ls -li
1027648 -rw-r--r-- 2 user user 0 Sep 29 13:05 file1.txt
1027648 -rw-r--r-- 2 user user 0 Sep 29 13:05 link1

• For Symbolic Links:

ls -l
lrwxrwxrwx 1 user user 8 Sep 29 13:10 link2 -> file2.txt

For the syntax, use “rm link_name” For instance:

rm link2

No output message will be displayed upon successful deletion.

This command will describe the type of link.

file link_name

For instance, let’s refer back to the previous example with link1 and link2. The command would be:

file link1 link2

The output should look like this.

link1: ASCII text
link2: symbolic link to file2.txt


  • Hard links cannot link to directories or files on a different filesystem.
  • Symbolic links can link to directories and can span across different filesystems.
  • The ln command has many other options and flags that can be viewed by typing man ln in the terminal.

Congratulations, now you’re able to generate links using the ln command in Linux. Creating links in Linux using the ln command is a crucial skill for users and administrators, enabling efficient file management and system organization. This guide has demonstrated the fundamental steps to create links, showcasing the ease and utility of the ln command. Mastering this command is a valuable addition to your Linux toolkit, enhancing your ability to manage and navigate the operating system.


Looking to deploy Linux in the cloud? With Gcore Cloud, you can choose from Basic VM, Virtual Instances, or VPS/VDS suitable for Linux:

Choose an instance

Subscribe to our newsletter

Stay informed about the latest updates, news, and insights.