Note: You are viewing an old revision of this page. View the current version.

An inode stores basic information about a regular file, directory, or other file system object: permissions, ownership information, various timestamps, the size of the file, extended attributes, etc. It also contains a list of direct, indirect, and doubly and triply indirect pointers to the location of the actual file contents on disk. On some FileSystems, very small files can be stored directly in the Inode itself.

However, no filename is stored in the inode. Instead, filenames are stored in the contents of directories along with inode numbers. The inode number is an integer that is unique within the FileSystem on which the file is stored. All filenames are HardLinks to inodes. Whenever a program refers to a file by name, the system conceptually uses the filename to search for the corresponding inode. You can use "ls -i" to find out the inode number for a file and the stat(1) command to view all sorts of inode data about a file.

Sophisticated FileSystems create Inodes on demand, but with most, the number of Inodes on a Partition has to be decided on during FileSystem creation. It is rare to run out of Inodes unless you have an unusual usage profile such as storing a news spool or Squid cache. Exhaustion of the inodes will prohibit the creation of additional files even if otherwise sufficient storage capacity exists. To find out how many inodes are available, you can use the "df -i" command.