2012-09-08 68 views
2

一些編程語言能夠區分強引用對象和弱引用對象,這樣弱引用對象在所有強引用消失後都可以用於垃圾收集。是否可以在文件系統上創建「弱引用」硬鏈接?

對於文件系統上的硬鏈接是否有類似的概念?這裏有一個理論上的API:

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

符號鏈接那種給你這個,除了符號鏈接,A將依然出現在磁盤上(儘管其底層的文件消失了),再加上我想拿指向的優勢直接相同的inode(用於跟蹤移動,重命名主文件等)。任何文件系統是否真的支持這個或類似的東西?

回答

3

否(除非您創建具有此功能的自己的文件系統)。從我知道的所有文件系統中的目錄條目到inode的所有鏈接都是強大的鏈接。在大多數文件系統中實現薄弱環節將是一個挑戰,因爲inode不會「記住」目錄條目指向哪個目錄條目,但它必須全部找到它們才能刪除它們,一旦所有強連接到inode都走了。

相關問題