慕粉4238150
2017-06-11 16:37
软链接的block块保持 的是源文件的什么信息?为什么不是i节点?我的想法来自于删除了源文件硬链接还能访问,那说明i节点的信息还在。可是为什么软链接不能访问呢?软链接的block块存储的是什么?要识别到源文件,存储的不应该是源文件的i节点吗!
补充图
我的理解是这样的,软链接有自己的inode,指明了自己所在的block,block中存放的是源文件的文件名和inode。源文件删除导致软链接不能使用的原因是,源文件删除后,该inode 结点的引用次数会变为0(软链接的inode与源文件的inode是不同的),文件对应的block会从文件管理表中删除,也就是说该inode 失效,因此会导致软链接也不能使用。
软连接的block块存储的应该是源文件的路径信息。软链接可以类比windows的快捷方式,存放真实文件的路径,访问软链接时,取到的是真实路径信息,然后系统根据真实路径信息继续查找到源文件的位置。所以,当删除了源文件,继续访问软链接时,同样能拿到一个原先的真实路径信息,但根据真实路径信息查找时,已经找不到源文件了。
Linux达人养成计划 I
399416 学习 · 3791 问题
相似问题