How to Create Symbolic Links in Linux Using the LN Command
Symbolic Links are a type of link in Unix-like systems that point to a different file or directory. They are also known as “soft links” or Symlinks.
In this tutorial, we are going to look at how we can create and delete Symbolic Links in Linux using the
ln terminal command. The instructions here will also work for other Unix-based systems such as macOS and Ubuntu.
Difference Between Hard and Soft Links
In Linux, there are two types of links. Soft links and Hard Links.
- Hard Links are essentially different names for the same file using the same inode. Therefore Hard Links have to be located on the same, disk, filesystem, partition or volume.
- Soft Links or Symbolic Links are essentially nothing more than shortcuts to access a file or directory. This makes them much more flexible allowing you to create Soft Links to any location you desire. Think of them like those desktop shortcuts on Windows.
Creating a Symbolic Link to a File Using the Ln Command
To create a Symbolic Link we will use the ln command. The syntax of ln starts with a set of options followed by the source file and finally the Symbolic Link.
ln [options] source_file symbolic_link
Now we know the syntax we can go ahead and create a Symlink. We want to create a Symbolic Link so we will pass in the
-s flag as the option.
ln -s file.txt link.txt
In the above command, we have created a Symbolic link called
link.txt which points to the file
symbolic_link parameter is optional, though if you don't add it the default behaviour of
ln is to create the Symlink in your current working directory.
You can verify the symlink was created using the ls command.
Create a Symlink to a Directory
A really useful way to use Symbolic Links is with directory paths. If you often find yourself needing to go to a directory nested deeply in your file system or on another volume you can create a shortcut to it.
Creating a Symbolic Link to a directory works the same way as with a file. You just need to be aware of the file structure of your system to point the Symlink to the correct location.
Let's say we wanted to create a shortcut to the videos folder on a mounted drive, we could use
ln like this:
ln -s /mnt/volume_nyc1_01/media/videos videos
The key point is to run this command where the
videos Symlink will be most convenient for you.
Now you just have to type
ls videos to see the contents of
cd videos to move to that directory.
Remove Symbolic Links
You can remove Symbolic Links just like you would any other file on Linux; either with
unlink. Here are two quick examples of how to use them both in this case:
Just make sure you are deleting a Symlink and not an actual file by using
ls -l. You can read more about the Long List Format including what the flags mean in my article about the ls command.
In this article, you have gained an understanding of “Soft” and “Hard” links in Linux are and how to create Symbolic Links using the