What is a linux file?
Linux File System
The files in the Linux file system are a collection of data. The file system not only contains the data in the file but also the file system. Structure, all files, directories, soft links and file protection information seen by Linux users and programs are stored in it.
Recommended: "Linux Tutorial"
File System
In Linux, ordinary files and Directory files are stored on disks or tapes called block physical devices. A Linux system supports several physical disks, and each physical disk can define one or more file systems. (analogous to computer disk partition). Each file system is composed of a sequence of logical blocks. A logical disk space is generally divided into several parts with different uses, namely boot block, super block, inode area, data area, etc.
Boot block: at the beginning of the file system, usually a sector, which stores the boot program and is used to read and start the operating system; super block: used to record the management information of the file system. A specific file system defines a specific super block; inode area (index node): a file or directory occupies an index node. The first index node is the root node of the file system. Using the root node, you can hang a file system on a non-leaf node of another file system; data area: used to store file data or management data.
The earliest file system type introduced by Linux is MINIX. The MINIX file system is defined by the MINIX operating system and has certain limitations. For example, the maximum length of a file name is 14 characters and the maximum length of a file is 64M bytes. The first file system designed specifically for Linux was EXT (Extended File System), but the most popular one currently is EXT4.
The second-generation extended file system was designed by Rey Card. Its goal is to provide a powerful extensible file system for Linux. It is also the most successfully designed file system in the Linux world. The super block of EXT2 can be accessed through the super block of VFS (struct ext2_sb_info ext2_sb), and the inode of EXT2 can be accessed through the inode of VFS (struct ext2_inode_info ext2_i).
The source code of the file system EXT2 is in the /usr/src/linux/fs/ext2 directory, and its data structure is in the file /usr/src/linux/include/linux/ext2_fs.h and in the same directory. defined in the files ext2_fs_i.h and ext2_fs_sb.h.
EXT2 file system divides the logical partition it occupies into block groups, as shown in the following figure:
The above is the detailed content of What is a linux file. For more information, please follow other related articles on the PHP Chinese website!