


For example, I am using touch command on the soft link and you’ll notice that it changes the timestamp of the target file. Now if I use this link to change the content or the attributes, the same will be reflected in the target file. To refresh your memory, – means file, and d means directory. Notice the l (it’s L, not one) at the beginning of the line? If you are familiar with the file permissions in Linux, you would know that the ‘l’ signifies link and thus it tells you that this file is actually a link. Here are the attributes of the newly created link: lrwxrwxrwx 1 abhishek abhishek 23 Jul 2 08:51 link_prog -> newdir/test_dir/prog.py Now, I’ll create a soft link to this file in my present directory: ln -s newdir/test_dir/prog.py link_prog It has the following attributes: -rw-r-r- 1 abhishek abhishek 163 Apr 13 15:07 newdir/test_dir/prog.py I have a file prog.py in newdir/test_dir. You can make changes to the target file through the links. You access the target file by accessing the link. That’s the whole purpose of the links after all. Changes made to link are reflected in the original file Symbolic links could be confusing at times therefore you should keep note of a few things. Things to keep in mind about symbolic links There are other ways to follow a soft link to its source file but realpath is the easiest. To know which real file the link actually points to, use the realpath command: realpath link_name I’ll explain the difference between soft links and hard links in a different article. If you don’t use it, it will create a hard link. It determines that the link is soft link. To create a symbolic link to target file from link name, you can use the ln command with -s option like this: ln -s target_file link_name Now that you know a little about the symbolic links, let’s see how to create them. They are heavily used in linking libraries in Linux. They provide quick access to long and confusing directory paths. Symbolic links offer a convenient way to organize and share files. In most Linux distributions, the links are displayed in a different color than the rest of the entries so that you can distinguish the links from the regular files and directories. If you use the ls command with option -l, this is what a symbolic link looks like: lrwxrwxrwx 1 abhishek abhishek 23 Jul 2 08:51 link_prog -> newdir/test_dir/prog.py Changes performed on the content of the link file changes the content of the actual target file. If you try to access the symbolic link, you actually access the target file to which the symlink points to. Creating symbolic link is like creating alias to an actual file. What is Symbolic link in Linux and why is it used?Ī symbolic link, also known as a symlink or a soft link, is a special type of file that simply points to another file or directory just like shortcuts in Windows.
