答案: Linux文件系统中一个文件由目录项(文件名)、inode(元数据) 和 数据块组成。
1. 目录项(文件名)
目录项使得用户可以通过文件名来访问文件系统中的文件,而无需直接知道文件的物理存储位置。
2. inode(元数据):
又称文件索引节点,是文件属性的存放地和数据块指针存放地,所有与某个文件相关联的额外信息都保存在一个叫做inode的结构中,inode包括 文件类型、权限、硬链接数、所有者及所属组、文件大小、时间信息等
3. 数据块
文件的具体内容存放地。
4. 三者之间的关系
一个文件名只能与一个 inode关联,一个inode可以关联多个文件名,inode与数据块是一一对应的。
Linux文件系统将硬盘分区时会划分出目录块、inode Table区块和data block数据区域。一个文件由一个目录项、inode和数据区域块组成。Inode包含文件的属性(如读写属性、owner等,以及指向数据块的指针),数据区域块则是文件内容。当查看某个文件时,会先从inode table中查出文件属性及数据存放点,再从数据块中读取数据。