Linux - 操作系统查找文件的过程以及硬链接与软链接的区别

例:系统查找文件/var/log/messages的过程

  内核知道 / 的inode号,根据这个inode号可以查找到inode表内 / 对应的的磁盘块,磁盘块内存放有 / 下面的目录以及对应的inode号,接着根据var的inode号找到 var 对应的磁盘块,里面含有log目录对应的inode号,接着根据log的inode号找到log的磁盘块,接着根据message的inode号找到messages对应的磁盘块,即找到messages文件

 

硬链接

  访问同一个文件的2个路径,inode号相同,文件大小相同

 

软链接

  例:/etc/test ------> /usr/local/test

  内核根据 / 的inode号查找到inode表内 / 对应的磁盘块,磁盘块内含有etc 及其inode号,根据etc的inode号可以找到其所在磁盘块,内含test 极其inode号,根据其inode号可以找到对应的磁盘块,里面存放的是/usr/local/test, 接着按上述逻辑继续查找,所以软链接文件大小等于指向的原文件的字节数

posted @ 2017-01-25 22:46  朴实的小老头  阅读(96)  评论(0编辑  收藏  举报