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

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

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

 

硬链接

  指向同一个inode的多个不通路径,且文件大小相同

  不能对目录创建

  不能跨分区,因为inode引用的问题

 

软链接

  可以对目录创建

  可以跨分区

  指向的是另一个文件的路径,其大小为指向的路径的字符串长度

  

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

  内核根据 / 的inode号查找到inode表内 / 对应的磁盘块,磁盘块内含有etc 及其inode号,根据etc的inode号可以找到其所在磁盘块,内含test 极其inode号,根据其inode号可以找到对应的磁盘块,里面存放的是/usr/local/test, 接着按上述逻辑继续查找。

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