轉載請附本文鏈接:https://blog.csdn.net/maxlovezyy/article/details/80283304
linux ext4
一個文件有兩個引用計數:打開的文件描述符引用計數和硬鏈接引用計數。當unlink一個軟連接時,軟連接當即被刪除,文件還在。當unlink一個硬鏈接時,文件的硬鏈接引用計數減一。
- 如果硬鏈接引用計數爲0了,則文件系統中看不到這個文件了(無法再打開)。
- 如果文件描述符引用計數不爲0,則當前正打開的文件描述符依然有效,並且文件系統上的空間不會被回收直到文件描述符引用計數爲0了。
- 只要硬鏈接的引用計數爲0了,rmdir刪除一個目錄時就不會認爲有這個子。
windows NTFS
- 如果“硬鏈接”引用計數爲0了,但打開的描述符引用計數不爲0,則windows資源管理器依然能看到這個文件了,但無法再打開(包括系統調用)。
- 如果文件描述符引用計數不爲0,則當前正打開的文件描述符依然有效,並且文件系統上的空間不會被回收直到文件描述符引用計數爲0了。
- 即便“硬鏈接”的引用計數爲0了,如果文件描述符引用計數不爲0,刪除一個目錄時依然認爲這個子存在。