Inode(index node),索引节点。Linux系统中,分区要进行格式化,创建文件系统。在每个Linux存储设备或存储设备的分区(可以是硬盘,软盘,U盘等)被格式化为ext3文件系统后,一般分为两个部分:第一部分是Inode,第二部分是Block。
Block是用来存储文件实际内容的,例如:文本内容,照片内容,视频内容等。
而inode是用来存储这些文件属性信息的(也就是ls -l的大部分内容),inode包含的属性信息包括文件大小,用户ID,组ID,读写权限,文件类型,修改时间,还包括指向文件实体的指针的功能,但是,不包括文件名。
因为inode要存放文件的属性信息,所以inode是有大小的。有的系统是128字节,有的是256字节,看系统实现。inode大小在文件系统被格式化之后就无法更改了,格式化之前可以指定inode大小。
注:
(1)一个文件要占用一个inode和至少一个block,一个block只能被一个文件使用,不同文件可以共用一个inode(硬链接)。
(2)ext3/ext4文件系统block一般有1k,2k,4。一般情况下,引导分区等为1k,其他普通分区为4k。
(3)磁盘读取数据按block为单位读取的。
(3)block太大,对于小文件业务,导致磁盘空间利用率低;磁盘太小,对于大文件,会消耗过多的磁盘IO,影响读取大文件数据的效率。所以,block大小最好根据实际场景业务进行分配。