


What does the linux i-node number mean?
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.
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:
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. 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.
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
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)
- 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 {} \ ;
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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











The five basic components of the Linux system are: 1. Kernel, 2. System library, 3. System utilities, 4. Graphical user interface, 5. Applications. The kernel manages hardware resources, the system library provides precompiled functions, system utilities are used for system management, the GUI provides visual interaction, and applications use these components to implement functions.

VS Code One-step/Next step shortcut key usage: One-step (backward): Windows/Linux: Ctrl ←; macOS: Cmd ←Next step (forward): Windows/Linux: Ctrl →; macOS: Cmd →

To view the Git repository address, perform the following steps: 1. Open the command line and navigate to the repository directory; 2. Run the "git remote -v" command; 3. View the repository name in the output and its corresponding address.

Although Notepad cannot run Java code directly, it can be achieved by using other tools: using the command line compiler (javac) to generate a bytecode file (filename.class). Use the Java interpreter (java) to interpret bytecode, execute the code, and output the result.

There are six ways to run code in Sublime: through hotkeys, menus, build systems, command lines, set default build systems, and custom build commands, and run individual files/projects by right-clicking on projects/files. The build system availability depends on the installation of Sublime Text.

The main uses of Linux include: 1. Server operating system, 2. Embedded system, 3. Desktop operating system, 4. Development and testing environment. Linux excels in these areas, providing stability, security and efficient development tools.

To install Laravel, follow these steps in sequence: Install Composer (for macOS/Linux and Windows) Install Laravel Installer Create a new project Start Service Access Application (URL: http://127.0.0.1:8000) Set up the database connection (if required)

Installing Git software includes the following steps: Download the installation package and run the installation package to verify the installation configuration Git installation Git Bash (Windows only)
