文件刪除/打開的一點知識

轉載請附本文鏈接: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,刪除一個目錄時依然認爲這個子存在。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章