inode介绍
inode一般为 128字节或256字节,每个inode.中都记录着文件所使用的block号,每条记录着block 号的信息占用4字节。inode 中关于block 号的记录一共包含有 12个直接连接、1个间接连接、1个双间连接和1个三间连接。可以想象成口袋里装了一个车钥匙,车钥匙打开的车里装了一车车钥匙,便需要乘1024,一个inode指向block需要消耗自身4B字节,一个block里内存为4KB为inode1024倍,所以一个间接的话内存大小为1024*4
12个直接连接,共占用48字节磁盘空间,包含着12个直接指向block 号的信息,若此文件系统默认的block大小为4KB,则仅仅可以指向12*4 48KB大小的文件内容。然而我们的文件若较大时,则需要使用到更多的block,肯定要多于12个block,进而有间接、双间接和三间接。
间接指的是,inode 中所记录这4字节的内容,所指向一个block,这个block 中存放的不是真是的文件内容,而是真实文件所存放位置的block号信息,若每个block大小为4KB,那么可以存放1024个block号信息,1个间接可以存放的文件大小为1024* 4=4096KB←
双间接则可以存放更大的文件内容,即在间接的基础上再进行间接,若此时block大小为默认的4KB,则1个双间接可以存放的文件内容大小为: 1024* 1024*4=4096MB←
三间接即在双间接的基础上在进行间接,若此时block大小为默认的4KB,则1个三间接可以存放的文件内容大小为: 102410241024*4=4096GB←
也就是说,在一个block大小默认为4KB的文件系统中,一个文件最大存储可以达到48KB+ 4096KB+4096MB+4096GB,约为4100GB
查看文件的inode号码
Is -i文件名
stat 文件名
文件存储位置对照
SuperBlock里面存储的文件系统所有lnode、block 的相关信息。
如果超级快损坏时,需要xfs_repair(扫盘修复)
当一个用户在Linux系统中试图访问一个文件时,系统会先根据文件名去查找它的inode,看该用户是否具有访问这个文件的权限。如果有,就指向相对应的数据block;如果没有过,就返回Permission denied (拒绝访问)