
上QQ阅读APP看书,第一时间看更新
7.2 硬盘block及inode详解
通常而言,操作系统对于文件数据的存放包括两个部分:一是文件内容;二是权限及文件属性。操作系统文件存放是基于文件系统,文件系统会将文件的实际内容存储到block中,而将权限与属性等信息存放至inode中。
在硬盘分区中,还有一个超级区块(superblock),superblock会记录整个文件系统的整体信息,包括inode、block的总量、使用大小、剩余大小等信息。每个inode与block都有编号对应,方便Linux系统快速定位查找文件。详细说明如下:
□superblock:记录文件系统的整体信息,包括inode与block的总量、使用大小、剩余大小以及文件系统的格式与相关信息等。
□inode:记录文件的属性、权限,同时会记录该文件的数据所在的block编号。
□block:存储文件的内容,如果文件超过默认block大小,会自动占用多个block。
每个inode与block都有编号,而每个文件都会占用一个inode,inode内则有文件数据放置的block号码。如果能够找到文件的inode,就可以找到该文件所放置数据的block号码,从而读取该文件内容。
操作系统进行格式化分区时,操作系统自动将硬盘分成两个区域。一个是数据block区,用于存放文件数据;另一个是inode table区,用于存放inode包含的元信息。
每个inode节点的大小,可以在格式化时指定,默认为128B或256B,/boot分区inode默认为128B,其他分区默认为256B,查看Linux系统inode的方法如下:

格式化磁盘时,可以指定默认inode和block的大小,-b指定默认block值,-I指定默认inode值,如图7-2所示,命令如下:

图7-2 格式化硬盘指定inode和block
