Home  >  Article  >  Operation and Maintenance  >  What does the linux i-node number mean?

What does the linux i-node number mean?

青灯夜游
青灯夜游Original
2023-03-30 11:49:202440browse

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.

What does the linux i-node number mean?

#The operating environment of this tutorial: linux7.3 system, Dell G3 computer.

1. The i node in Linux

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:

What does the linux i-node number mean?

  • 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:

What does the linux i-node number mean?

##2. Linux file storage

2.1 Limit on the number of inodes

    Inodes also consume hard disk space, so when formatting , the operating system automatically divides the hard disk into two areas: one is the data area, which stores file data; the other is the inode area, which stores the information contained in the inode. The size of each inode is generally 128 bytes or 256 bytes.
  • Normally, you don’t need to pay attention to the size of a single inode, but you need to focus on the total number of inodes. The total number of inodes has been determined during formatting

    - 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.

What does the linux i-node number mean?

2.2 Contents of inode

The inode contains the meta-information of the file, specifically the following contents:

  • The number of bytes of the file
  • The owner user ID of the file
  • The group ID of the file
  • Read, write, and execute permissions of the file
  • Number of links, that is, how many files point to this inode
  • The timestamp of the file
  • Two ways to view the inode information of a certain file

Method 1: stat [file name]

Example: stat aa.txt

What does the linux i-node number mean?

Advantages: You can view the detailed information of the file inode

Method 2: ls -i [file name]

What does the linux i-node number mean?

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)

  • ctime (change time)
    refers to The time of the last change to a file or directory ( attribute )
  • atime (access time)
    refers to the last access to the file Or the time of the directory
  • mtime (modify time)
    refers to the last time modified the file or directory (content)

3. The special role of inode

Because the inode number is separated from the file name, some Unix/Linux systems have the following phenomena:

  • When the file name contains special characters, the file may not be deleted normally. Delete the inode directly, or delete the file.
  • When moving or renaming the file, only change the file name. Does not affect the inode number
  • After opening a file, the system identifies the file by the inode number and no longer considers the file name
  • After the file data is modified and saved, a new inode number will be generated ( The original inode number will be released)

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 {} \ ;

What does the linux i-node number mean?

Method 2 (direct deletion): find ./ -inum [inode number] -delete

What does the linux i-node number mean?

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn