1st 我创建了硬链接 (HLINK) 和软链接 (SLINK) 到单个文件 (A.DAT)。据我所知,SLINK有自己的inode,这个inode会指向A.DAT的inode。但是 HLINK 没有自己的 inode。当我们创建硬链接时,它将直接指向 A.DAT 的 inode。
所以我这里的QS是在我们删除原始文件(A.DAT)时,因为硬链接(HLINK)的存在,A.DAT的inode仍然在内存中。 但是为什么我们不能通过SLINK,虽然SLINK的inode指向内存中仍然存在的inode,而HLINK虽然指向同一个inode也可以访问。
请帮助我理解这一点,如果我错了,请纠正我..
谢谢!!
SLINK有自己的inode,这个inode会指向A.DAT的inode。
不,它根本不引用 inode。它指向 A.DAT 的名称。如果名称更改,则引用会中断。
这就是符号链接可以跨文件系统工作的原因。inode(或使用的任何数据结构)可能不可见,但名称可见。