目录中存放的表叫做路径映射表。
文件可以通过目录找到,那我们怎么找到目录呢?一直回溯下去,我们要找到根目录。根是一个特殊的目录,根是自引用的。所以我们找每一个文件都先要找根目录。当我们使用相对路径时是因为我们已经站在某个路径下了,我们就可以引用当前目录。
[例] 若要找到/var/log/messages这个文件,需要经历哪些步骤?
1.通过自引用的根目录iNode,我们找到了根目录对应的block。
2.在根目录的block中放了路径映射表,表中存放着var目录的iNode号。
3.通过var目录的iNode来访问var目录的block。
4.var的block中放着一张路径映射表,该表中存放着log的iNode号。
5.根据log的iNode来访问log对应的block。
6.根据log的block又能找到messages的iNode。
7.通过messages的iNode找到其对应的block。
Ls #命令就是展示路径映射表的内容。
Ls–l #要显示文件的权限、类型,意味着要根据路径映射表查找每个文件的iNode,然后通过iNode找到元数据中文件的各种信息。当你对目录没有执行权限的时候,ls –l没有权限执行的原因。
[例] 新建文件的过程
1.在元数据区,给文件申请一个空闲的节点(iNode),用来存放文件的各种信息。
2.文件是建在目录上的,所以要在目录的路径映射表中插入步骤一申请的iNode。
3.在数据区申请空闲block用来存放文件的数据。