In Linux, the i-node number refers to the inode number, which is used to identify different files. Linux internally uses inode numbers to identify files, rather than file names. For the system, file names are another name for inode numbers, which is convenient for users to identify files. There is a one-to-one correspondence between file names and inode numbers, and each inode number corresponds to A filename.
#The operating environment of this tutorial: linux7.3 system, Dell G3 computer.
In Linux, the i node refers to the inode node.
In Linux, file search is not done by file name. In fact, the search and positioning of files is achieved through i nodes. We can visualize the i node as a pointer fip. When a file is stored on the disk, the file will definitely be stored in a disk location. You can imagine that since the file data is stored on the disk, if we know the address of the file data, when we want to read and write the file At this time, can we just use this address to find the file?
Yes, under Linux, the i-node can actually be thought of like this. The i-node is regarded as an address pointing to the file storage area on the disk. It's just that we generally can't use this address directly, but use it indirectly through the file name. In fact, the i node not only contains the address of the file data storage area, but also contains a lot of information, such as data size, and other file information. But the i node does not save the file name. The file name is saved in a directory entry. Each directory entry contains the file name and i-node.
We can use a diagram to see the relationship between directory entries, i nodes, and file data.
As you can see from the above figure, the directory entry contains the file name and i node.
At the same time, you will find that in the above figure, the i nodes of directory item A and directory item B point to the same storage area, and this storage area stores the data of printf ("ha").
That means the contents of helloA.c and helloB.c are the same.
iNode number
Each inode has a number (i.e. inode number), and the operating system uses the inode number to identify different files.
————Linux internally uses inode numbers to identify files, not file names. For the system, file names are another name for inode numbers, which is convenient for users to identify files. File names and inode numbers are the same. A corresponding relationship, each inode number corresponds to a file name.
The inode number is the only code recognized by the system, and the file name is only for user identification. The inode (index node) table contains a list of all files in the file system. One node (index node) is in a table entry. , contains information (metadata) about the file.
Structure after hard disk partition:
When a user tries to access a file in a Linux system, the system will first name to find its corresponding inode number; obtain the inode information through the inode number; check whether the user has the permission to access the file according to the inode information; if so, point to the corresponding data block and read the data; if not will return.
Simple process for accessing files:
2.1 Limit on the number of inodes
- Why do you need to focus on the total number of inodes? , because
when the inode is used up, new files cannot be created even if there is still space on the disk, because when creating a file, an inode number is required to correspond to it, and new files cannot be created without an inode. Execute the "
df-i" command to view the total number of inodes corresponding to each hard disk partition and the number of used inodes.
The inode contains the meta-information of the file, specifically the following contents:
Two ways to view the inode information of a certain file
Method 1: stat [file name]
Example: stat aa.txt
Advantages: You can view the detailed information of the file inode
Method 2: ls -i [file name]
Only the inode number can be displayed
2.3 Three main times of Linux system files Attributes
The three main time attributes of Linux system files (that is, the timestamp in the inode)
Because the inode number is separated from the file name, some Unix/Linux systems have the following phenomena:
How to delete the file by deleting the inode number:
Method 1 (Confirmation information is required before deletion): find ./ -inum [inode number] -exec rm -i {} \ ;
Method 2 (direct deletion): find ./ -inum [inode number] -delete
Related recommendations: "Linux Video Tutorial"
The above is the detailed content of What does the linux i-node number mean?. For more information, please follow other related articles on the PHP Chinese website!