Find All Symbolic Links in Linux
Looking for all the soft links on your Linux system? Here are a couple of methods to find symbolic links.
|
|
|
|
|
|
|
|
How do you find a soft link?
You can use the ls command. Some distributions show the links in a different color. The long listing is always reliable because it shows links with l.
lrwxrwxrwx 1 abhishek abhishek 14 Jan 31 18:07 my_link -> redirects.yaml
You can also use the tree command:
This is okay if you have a couple of links in the current directory. But what if you want to see the links in a nested directory structure or the entire system?
In this tutorial, I will be showing you two ways to accomplish this mission:
So let's start with the first one.
To find the symbolic links using the find command, you can use the following command syntax:
find Target_directory -type l
For example, here, I searched for available symbolic links inside the Links
directory:
find Links/ -type l
But by default, the find command will initiate the recursive search and if you want to limit the search to a certain depth, you will have to use the -maxdepth
flag.
So let's say I want to restrict the search to level 1 for the Links
directory, I will be using the following:
find Links/ -maxdepth 1 -type l
And if you want detailed output including the file permissions, user groups, etc. then you will have to pair the find command with -ls
flag:
find Target_directory -type l -ls
If you want a system-wide search, you can use /
in the command.
This tool is what I used while pursuing my internship in networking.
But it does not come pre-installed though. You can install it using your distribution's package manager. For Ubuntu/Debian, use:
sudo apt install symlinks
Once you are done with the installation, use the given command structure to look for available symbolic links:
symlinks -v target_directory
Here, the -v
option gives verbose output.
But by default, the symlinks utility won't look into subdirectories. Enable recursive search with the -r
option:
symlinks -vr target_directory
The output has specific terms. Let me explain them.
relative
indicates that links are relative to the current working directory in which the link resides.other_fs
means the link is indicating a different filesystem. In my case, it is indicated to the external drive.Really, they might sound like a huge deal but we made sure to break the topic bit by bit.
Such as if you are a complete beginner, you can refer to the beginner's guide to symbolic links:
And if you want to follow them to their origin, you can refer the following guide:
I hope you will find this guide helpful. And if you have any queries or suggestions, be my guest in the comments section.
|
|
|
|