Linux Tutorial – Linux Links


This chapter explains introduction to Linux Links, Inode, View details of Inode, Hard link, soft links.

Linux Links

● Here we are going to understand what  are links and what are they useful  for .

● First of all, There are two kinds of  Links in Linux, namely Hard and Soft  Links.

● Before we dive in and see how links  works, we need to understand what is  an inode.

● Every file on a Linux system has an inode which is also referred  to as index node

● An inode is basically a file structure or more intuitively ,  It’s a database which contains all of a file information except  two things , namely file contents and file name.

● Typically an inode contains the following information about a  file (1) Inode number (2) File size  (3) File type  (4) Owner  (5) Permissions (6) Number of Links

● We just care about the inode number  at this point of time.

● Think about files like being  students in a university , and  think of Inodes like a database  entry for each student, and think  of inodes like being the student id  number.

Viewing the inode Number

● Let’s say we have a file called  file1.txt If you want to view the inode  number of file1.txt

● Then you just type ls ­i file1.txt

● And so typing ls ­i will show all  the inode numbers in your current  directory

Viewing the file size

● There are many options that you can use with the ls command. We will  explain them in more detail in the next section. But for now, You  just need to know that ls ­l file1.txt will list many information  about file1.txt 

● For example ls ­l file1.txt can have the following output
 ● For now, We are only interested in the 5th  column that shows the  file size in bytes.

Permission Number of  Links (Hard)
Owner Group File  size
Last modified File name
­rw­rw­r­­ 1 kabary kabary 16070 Jul 30 19:03 file1.txt

Hard Links

● They are just another name of the same exact  file !

● You can create a hard link using ln command Here is the general format of the ln command ln option Originalfile Linkname

● Now if you want to create a hard link named hard1 for file1 you just type ln file1 hard1

● Now you should know three things about hardlinks (1) They have the same inode number as the original file (2) They have the exact same file size as the original file (3) If you delete the original file, hard links will not get affected.

● It’s like cloning 😀

● Imagine we have a student called peter and a clone of peter called david. Now if peter died , nothing will happen to david.  Such a sad story 🙁 🙁 😀

Soft Links

● A soft link is simply a pointer to another file. (Just like shortcut  in windows) To create a soft link we use the ­s option  ln ­s Originalfile Linkname

● Now if you want to create a soft link named soft1 for file1 you just type ln ­s file1 soft1

● Now you should know three things about hardlinks (1) They have different inode number with reference to the original  file (2) They have a smaller file size with reference to the original file (3) If you delete the original file, soft links will becom useless.

● If you point to something that is not there, then you are crazy.

Becareful !

● You should not create hard links  for directories. Normally they are not even allowed  because they break the file system  structure.

● For instance, creating a hard link  for the root directory can have  catastrophic results.


Please enter your comment!
Please enter your name here