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
Nice one dude, this is the most common asked question in any unix interview and its also one of most useful unix commands
ReplyDeleteI also find useful command "ln -nsf sourcefinle linkname" to update any soft link which I used most.
Cheers
Javin
FIX Protocol tutorial
Thanks dude..
ReplyDeleteI am following your blog to learn FIX these days. Nice attempt.
keep in touch.
Cheers