首页 > 试题广场 >

设文件F1的当前引用计数值为1,先建立文件F1的符号链接(软

[问答题]

设文件F1的当前引用计数值为1,先建立文件F1的符号链接(软链接)文件F2,再建立文件F1的硬链接文件F3,然后删除文件F1。此时,文件F2和文件F3的引用计数值分别为(),()

应该是1 、1吧
发表于 2018-11-29 00:23:38 回复(0)
一个软链接本身是一个文件,是文件就有自己的inode,只是这个文件的内容是一个指向链接文件的path而已。

可以自己在shell里面创建一个symbol link 试一试
ln -s source_file symbol_link (-s 是创建symbol link)
ls -i symbol_link (-i 是查看inode号)
ls -i source_file
你会发现两个文件的inode是不一样的

那么软链接的count一直都是1,因为没有其他文件硬链接到它,只有硬链接会增加count值。
并不是说删除了文件“让软链接的count减少到1”,因为它本来就没有变过,变的一直都是F1和F3的count值。
发表于 2022-09-23 10:54:00 回复(0)
不会
发表于 2018-11-28 15:00:59 回复(0)
一个文件对应一个inode,inode里维护了该文件的状态,建立文件时,count=1,即题目中开始说的F1的引用值为;
建立一个软连接F2,count值不变,建立一个硬链接F3,count值加1,此时引用值为2;
删除F1可以理解为少了一个硬链接,count值减1变为1,此时F2和F3的引用计数值就变成1了;
另外,如果再删除F3(hard链接)后,引用计数值变成2,该文件就会被实际删除了

发表于 2021-12-12 17:21:24 回复(0)
1 1
编辑于 2019-11-18 18:04:32 回复(0)

1,1

发表于 2019-11-05 09:01:26 回复(0)