A symlink or symbolic link is a file type that contains the address or path of some other file or folder in a Linux Operating system; it is also known as a soft link because it points towards the file and holds the reference of some file. It is mostly used for managing and creating shortcuts of files; moreover, it is used to create different locations for primary folders and a lot more. It works like a string used for attaching the various files and folders inside the whole computer system.
This post will explore and learn how to create a symbolic link of a file or directory and how to remove a symbolic link in any Linux-based operating system. So, let’s dive into the learning process and see how many types of links exist in Linux.
Types of Link in Linux
It is the same as a shortcut that we often see in the Windows Operating system, which is basically a pointer to some specific directory or file.
On the other side, hard links are also shortcuts of some specific file or folder, but the only difference between a hard link and the soft link is that the hard link cannot exist on some other partition or file system.
Well, the command-line utility that we use for creating links is known as ln. Let’s learn about it a little bit.
ln command creates the hard link by default. However, if we want to create a soft link, we need to put a -s or –symbolic flag in front of the ln command.
The syntax for creating the symbolic link would be like as given below:
$ ln -s [ORIGINAL_FILE] [LINK]
In the first argument, we have to provide the original file name.
In the second argument, we need to give it the symbolic filename.
If we do not provide the symbolic file or put a dot(.) instead of a symbolic file name, then the ln command will create the symbolic link in the same working directory.
Creation of a Symbolic link to a File
The symbolic link of the file can easily be created using the command given below:
$ ln -s original_file_name symbolic_file_name
Make sure to replace the original_file_name and symbolic_file_name with your desired filenames.
For example, to create a symbolic link of a text file, the command will go like this:
$ ln -s file.txt new_link.txt
The ln command does not produce or show any success output on the terminal, so you can use the ls command if you want to verify the link creation. So, ls -l for verifying type the command given below:
The l in the output is the flag that mentions the symbolic file type, and the arrow symbol ( -> ) is pointing towards the original file from where the symbolic link is created.
Alright, now let’s see how to create a symbolic link to a Directory
Creation of a Symbolic link to a Directory
There is no difference in creating a symbolic link to a directory or a file. A symbolic link to a directory can easily be created by first providing the directory name and then providing the symbolic link.
For example, for creating the symbolic link of a directory named /folder to the ~/folder_link directory, the command for creating a symbolic link will be like this:
$ ln -s /folder ~/folder_link
After running the command for creating the symbolic link, verify the creation of the link using the command given below:
You can witness in the screenshot attached above that the directory’s symbolic link is created successfully.
Now let’s move ahead and see how to remove a symbolic link in Linux.
Removal of a Symbolic Link
A symbolic link can easily be deleted or removed by either using the unlink or rm command. You have to provide the symbolic link to any of the unlink or rm commands, and the symbolic link will be removed from your Linux Operating system.
To remove the symbolic link using the unlink command, type the command given below:
To remove the symbolic link using the rm command, type the command given below;
A symbolic link will be removed using any of the two above given commands.
We have explored multiple ways to create a symbolic link to a file or directory in Linux and also learned to remove the symbolic link in any Linux-based Operating system. After reading this post, you will face no hurdle in creating and removing the symbolic link.