第四章 文件管理
5.文件共享
假设此时系统中有两个用户User1和User2正在使用硬链接的方式来共享的使用文件1,而另一个用户User3想使用软连接的方式来共享这个文件1,那么User3会建立一个新的文件,这个文件是一个特殊的Link类型的文件,这个文件当中记录了文件1的存放路径,比如说可以通过“C/User1/aaa”找到文件1,当然这里也可以通过“C/User2/bbb”找到文件1。Link类型的文件就类似于Windows操作系统下的“快捷方式”。当User3想要访问“ccc”这个文件的时候,操作系统首先判断“ccc”属于Link类型的文件,于是会根据这个文件当中记录的这个路径的信息一层一层的来查找目录,然后最终找到“aaa”这个目录项,于是就可以开始访问文件1了。因此如果采用的是软连接的共享方式并不是把自己的目录项直接指向这个文件的索引结点,而是创建了一个新的Link类型的文件,然后Link类型的文件当中记录了这个文件的存放路径,之后操作系统会根据这个路径来找到想要共享的那个文件。
下面来分析如果采用软连接共享文件的话,删除一个文件会不会对软连接造成什么影响呢?
假设此时User1和User2都不需要使用文件1,由于此时Count=0,因此这个文件还有他的索引结点就可以直接删除了。此时如果User3访问“ccc”这个Link类型的文件,同样的操作系统首先会检查C盘下的User1这个目录,然后尝试从中找到“aaa”这个文件对应的目录项,但是由于此时“aaa”这个目录项已经被删除了,所以通过这个路径其实已经找不到文件1了,因此这个软连接就失效了。