>Link Files in Unix/Linux

>Links in Unix – Links are used in Unix/Linux for better managebility of file system.

Command we use for linking two files is ln.

ln -[options] existingfilename newfilename

Common options -

-f —> Link files without questioning the user, even if the mode of target forbids writing.
-s —> Creates a symbolic link to existingfilename with the name of the newfilename.

Hard Link – A hard link is a reference to a file or directory that appears just like a file or directory, not a link. Hard links only work within a filesystem. In other words, don’t use hard links between mounted filesystems. A hard link is only a reference to the original file, not a copy of the file. Basically points to a file’s inode. So if you delete one file , it can still be accessed from other hard link available.

How do we check hard links -
If we want to check hard links in one specific directory we can simple use ls -i command which list the files with their respective inode number.

If we want to find all files hard linked with one file we can use find command in following way -
find {location} -xdev -samefile {filename}

ls -lrt shows the number of links to a file. The column next to permissions shows number of links to that file.

Soft Link – A soft link/symbolic link is a pointer to another file or directory. It can be used just like the original file or directory. A symbolic link appears in a long listing (ls -l) with a reference to the original file/directory. A symbolic link, as opposed to a hard link, is required when linking from one filesystem to another and can be used within a filesystem as well.

How to find soft links -
If we do ls -lrt in one directory it shows the soft links with target files.
Find all links in system – find {location} -type l

How to unlink files -

unlink filename

PS: unlink and rm both remove the files, the difference is that unlink is a system call, rm is a shell utility that calls unlink.
Keep checking for more posts on Unix/Linux
About these ads
This entry was posted in Filesystem, Link, Linux, Unix. Bookmark the permalink.

2 Responses to >Link Files in Unix/Linux

  1. >Nice one dude, this is the most common asked question in any unix interview and its also one of most useful unix commands I also find useful command "ln -nsf sourcefinle linkname" to update any soft link which I used most.CheersJavinFIX Protocol tutorial

  2. >Thanks dude..I am following your blog to learn FIX these days. Nice attempt. keep in touch.Cheers

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s