If you’ve ever needed to create symbolic links in Linux, you’re in the right place. Symbolic links, often referred to as symlinks, are a powerful way to reference files and directories across your filesystem. They provide flexibility and can simplify your file management tasks. In this guide, we’ll walk you through the process of creating symlinks in Linux.

Before we dive into creating symlinks, let’s briefly understand what they are. A symlink is like a shortcut or reference to another file or directory. It allows you to access the target file or directory from a different location without duplicating the data. This can be incredibly useful for organizing your files or providing access to shared resources.

The ln Command

To create symlinks in Linux, we’ll use the ln command. The ln command has various options and forms. Here’s the basic syntax:

  • TARGET: This is the file or directory you want to create a symlink to.
  • LINK_NAME: This is the name of the symlink you want to create.

Let’s start with the most basic use case: creating a symbolic link to a file. Suppose we have a file named document.txt, and we want to create a symlink called link_to_doc.txt. Here’s how you can do it:

ln -s document.txt link_to_doc.txt

The -s option tells ln to create a symbolic link. Now, you can access document.txt using the link_to_doc.txt symlink.

Creating Symlink

You can also create symlinks to directories. Suppose you have a directory called project and you want to create a symlink called project_link to it:

ln -s -T project project_link

The -T option is used to treat the LINK_NAME as a normal file. This is necessary when creating symlinks to directories.

By default, symlinks are created with absolute paths. However, you can create relative symlinks by using the -r option. This can be handy when you want to maintain the file’s structure relative to the symlink’s location. For example:

ln -s -r /path/to/target/file link_to_file

Now, link_to_file will have a relative path to the target file.

Creating Relative Symlinks

Additional Options

The ln command provides various other options, such as -f to force overwriting existing symlinks, -i for interactive mode, and -v for verbose output. You can explore these options to suit your specific needs.


Creating symlinks in Linux is a powerful way to manage files and directories efficiently. Whether you’re organizing your files or providing easy access to shared resources, symlinks are a valuable tool in your Linux toolkit. With the ln command and the knowledge you’ve gained from this guide, you’re well-equipped to harness the power of symlinks in your Linux system.

Categorized in: