1. 程式人生 > >檔案刪除/開啟現象

檔案刪除/開啟現象

linux ext4

一個檔案有兩個引用計數:開啟的檔案描述符引用計數和硬連結引用計數。當unlink一個軟連線時,軟連線當即被刪除,檔案還在。當unlink一個硬連結時,檔案的硬連結引用計數減一。

  • 如果硬連結引用計數為0了,則檔案系統中看不到這個檔案了(無法再開啟)。
  • 如果檔案描述符引用計數不為0,則當前正開啟的檔案描述符依然有效,並且檔案系統上的空間不會被回收直到檔案描述符引用計數為0了。
  • 只要硬連結的引用計數為0了,rmdir刪除一個目錄時就不會認為有這個子。

windows NTFS

  • 如果“硬連結”引用計數為0了,則windows資源管理器依然能看到這個檔案了,但無法再開啟(包括系統呼叫)。
  • 如果檔案描述符引用計數不為0,則當前正開啟的檔案描述符依然有效,並且檔案系統上的空間不會被回收直到檔案描述符引用計數為0了。
  • 即便“硬連結”的引用計數為0了,刪除一個目錄時如果檔案描述符引用計數不為0,則依然認為這個子存在。