是否有可能在文件系统上创建“弱引用”的硬链接?

时间:2012-09-08 20:29:00

标签: macos reference filesystems symlink hardlink

某些编程语言能够区分强引用对象和弱引用对象,以便在所有强引用消失后,弱对象成为垃圾回收的候选对象。

文件系统上的硬链接是否有类似的概念?这是一个理论API:

 $ touch A
 $ ln --weak A A_hardlink   # create a 'weakly referenced' hard link
 $ rm A
 $ stat A_hardlink          # no such file or directory

Sym链接有点给你这个,除了A的sym链接仍会出现在磁盘上(即使它的底层文件已经消失),而且我想利用直接指向同一个inode(用于跟踪移动,重命名主文件等)。任何文件系统是否真的支持这个,或类似的东西?

1 个答案:

答案 0 :(得分:3)

否(除非您创建自己的具有此功能的文件系统)。从我知道的所有文件系统中的目录条目到inode的所有链接都是强链接。在大多数文件系统中实现弱链接将是一个挑战,因为inode不会“记住”指向它的目录条目的位置,但它必须全部找到它们才能在所有强链接后删除它们到了inode已经不见了。