由Ext文件系统的知识点击打开链接可以知道,在Linux系统下,每个文件(不管是一般文件还是目录文件)都会占用一个inode,且可依据文件内容的大小来分配多个block给文件使用。目录文件的内容是记录文件名,而一般文件才是记录实际数据的地方。那么目录与文件构成的目录树在文件系统(在此以Ext系列文件系统为例进行讨论)中是如何记录数据的呢?
目录
在Linux下的Ext文件系统新建一个目录时,文件系统会分配一个inode与至少一块block给该目录。其中,inode记录该目录的相关权限与属性以及分配到的block号码,而block则记录在这个目录下的文件名与该文件名占用的inode号码数据。稍加思考就可以知道,目录文件的内容就是文件名,那么block作为文件系统中记录数据的逻辑块,就应该记录下目录文件的内容——文件名,为了实现目录树结构,还要存储文件名所分配到的inode号码才行。
如果想要实际查看目录内的文件所占用的inode号码时,可以使用“ls -i”来处理: