Home : Bits and Bytes : Inode Definition

Inode

An inode (short for "index node") is a data structure Linux uses to store information about a file. Each inode has a unique ID that identifies an individual file or other object in the Linux file system.

Inodes contain the following information:

  • File type - file, folder, executable program etc.
  • File size
  • Time stamp - creation, access, modification times
  • File permissions - read, write, execute
  • Access control list - permissions for special users/groups
  • File protection flags
  • File location - directory path where the file is stored
  • Link count - number of hardlinks to the inode
  • Additional file metadata
  • File pointers - addresses of the storage blocks that store the file contents

Notably, an inode does not contain the filename or the actual data. When a file is created in the Linux file system, it is assigned an inode number and a filename. This linked pair allows the filename to be changed without affecting the file ID in the system. The same holds true when renaming directories, which are treated as files in Linux.

File data is stored across one or more blocks on the storage device. An inode includes a pointer to this data but does not contain the actual data. Therefore, all inodes are relatively small, regardless of the size of the files they identify.

Modern file systems provide a hierarchical directory structure (folders) to make it easier to organize files. However, in Linux, files are not actually stored in directories. Instead, directories only contain filenames and their associated inode IDs. The ID references an inode in the Linux inode table, which points to the storage blocks where the file data is stored.

NOTE: Each Linux storage device has an inode limit, which is defined when the disk is formatted. In rare cases, when many small files are created, the inode limit may be reached before the full storage capacity has been used.

Updated: December 20, 2019

Cite this definition:

https://techterms.com/definition/inode

TechTerms - The Tech Terms Computer Dictionary

This page contains a technical definition of Inode. It explains in computing terminology what Inode means and is one of many computing terms in the TechTerms dictionary.

All definitions on the TechTerms website are written to be technically accurate but also easy to understand. If you find this Inode definition to be helpful, you can reference it using the citation links above. If you think a term should be updated or added to the TechTerms dictionary, please email TechTerms!