This chapter explains introduction to Linux Links, Inode, View details of Inode, Hard link, soft 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
rwrwr 1 kabary kabary 16070 Jul 30 19:03 file1.txt
● 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 🙁 🙁 😀
● 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.
● 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.