某些编程语言能够区分强引用对象和弱引用对象,以便在所有强引用消失后,弱对象成为垃圾回收的候选对象。
文件系统上的硬链接是否有类似的概念?这是一个理论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(用于跟踪移动,重命名主文件等)。任何文件系统是否真的支持这个,或类似的东西?
答案 0 :(得分:3)
否(除非您创建自己的具有此功能的文件系统)。从我知道的所有文件系统中的目录条目到inode的所有链接都是强链接。在大多数文件系统中实现弱链接将是一个挑战,因为inode不会“记住”指向它的目录条目的位置,但它必须全部找到它们才能在所有强链接后删除它们到了inode已经不见了。