linux文件删除机制,Linux 文件删除机制
生活随笔
收集整理的這篇文章主要介紹了
linux文件删除机制,Linux 文件删除机制
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Linux 是通過 link 的數量來控制文件刪除,只有當一個文件不存在任何 link 的時候,這個文件才會被刪除。每個文件都有 2 個 link 計數器—— i_count 和 i_nlink。i_count 的意義是當前使用者的數量,i_nlink 的意義是介質連接的數量;或者可以理解為 i_count 是內存引用計數器,i_nlink 是硬盤引用計數器。再換句話說,當文件被某個進程引用時,i_count 就會增加;當創建文件的軟連接或者硬連接的時候,i_nlink 就會增加。
對于 rm 而言,就是減少 i_nlink。這里就出現一個問題,如果一個文件正在被某個進程調用,而用戶卻執行 rm 操作把文件刪除了,會出現什么結果呢?當用戶執行 rm 操作后,ls 或者其他文件管理命令不再能夠找到這個文件,但是進程卻依然在繼續正常執行,依然能夠從文件中正確的讀取內容。這是因為,`rm` 操作只是將 i_nlink 置為 0 了;由于文件被進程飲用的緣故,i_count 不為 0,所以系統沒有真正刪除這個文件。i_nlink 是文件刪除的充分條件,而 i_count 才是文件刪除的必要條件。
對于單個文件刪除而言,我們可能完全不需要關心這個機制,但是對于大批量文件刪除,這卻是一個非常重要的因素
總結
以上是生活随笔為你收集整理的linux文件删除机制,Linux 文件删除机制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cpu不支持虚拟装linux,linux
- 下一篇: linux usb ga驱动详解,Lin