Linux inodes contain important information about a file; in particular, they include information such as ownership, permissions, and disk location.
The inode is the part of a file that describes who owns it, when it was modified, and how the data is laid out on a physical disk. Note that the inode does not include file names or contents - it is simply a placeholder and metadata for a specific file or object.
The way this works is that every file is assigned its own inode number. As a result, a system can suffer from inode exhaustion; that is to say, the total number of inodes in a system has a fixed limit (affected by the disk size and filesystem type). This can happen when we have massive amounts of tiny files that don’t fill up a disk.
Example
To see how many inodes are in use and available in a Linus system we can use df -i:
Whenever a new file system is created, the OS will set aside a number of inodes assigned to this new FS.
Files and directories are both tied to inodes; when multiple inodes point to the same inode (as is the case with hard links, for example). This can be seen with the ls -i command, where two separate files may point at the same inode, meaning they are, as far as the system is concerned, the same file.