您好,登錄后才能下訂單哦!
文件刪除原理
點擊查看軟鏈接、硬鏈接知識
link計數器
Linux是通過link的數量來控制文件刪除的
?只有當一個文件不存在任何link的時候,這個文件才會被刪除
?一般來說,每個文件都有2個link計數器:i_count和i_nlink
?i_count?內存引用計數器
?當前文件使用者(或被調用)的數量,當一個文件被某一個進程引用時,對應i_count數就會增加
?i_nlink?磁盤引用計數器
?介質連接的數量(硬鏈接的數量),當創建文件的硬鏈接的時候,對應i_nlink數就會增加
刪除命令rm
rm實際就是減少磁盤引用計數i_nlink
rm刪除常識
如果一個文件正在被某個進程調用,而用戶卻執行rm操作把文件刪除了,那么會出現什么結果呢?
??當用戶執行rm操作刪除文件后,再執行ls或者其他文件管理命令,無法再找到這個文件了,但是調用這個刪除的文件的進程卻在繼續正常執行,依然能夠從文件中正確的讀取及寫入內容。
??這是因為rm操作只是將文件的i_nlink減少了,如果沒其它的鏈接i_nlink就為0了;但由于該文件依然被進程引用,因此,此時文件對應的i_count并不為0。
文件真正被刪除的條件 i_nlink=0 且 i_count=0
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。