不善於寫作,可能有些地方會表達不清楚原本的含義,如果錯誤請指正。
在Linux中,有這幾個常用的命令:cp-->複製,mv-->搬移/移動,rm-->刪除/移除。
雖然我們經常使用它們,但我們是否對這些命令進行了更深入一層的瞭解。
下面就來看看:
cp對inode的影響:
1. 當複製行為發生的時候,系統會找到一個空inode number,然後將資料寫入到inode table
2. 並且會新增一個目錄,把檔案的設定檔名稱對應到inode number
3. 當inode number和inode table處理好了之後,系統才會將檔案內容複寫到新增的檔案中
mv對inode的影響:
前提:使用mv命令搬移的檔案目的地跟原檔案在同一檔案系統內
1. 系統會建立一個目錄項,將新設定檔名稱對應到inode number
2. 刪除舊檔案
(搬移檔案的行為對inode table沒有任何影響,也不會將檔案搬移到其他的block)
rm對inode的影響:
1. 系統會減去檔案的link count數字,然後將對應的inode number標記為可使用
========================================
PS:
例如,test.txt link count==>2
當使用rm test.txt後,
test.txt link count==>1
=========================================
2. 而檔案所佔用的block也會打上可以使用的“標籤”
3. 最後移除檔案名稱和目錄項
============================================
PS:
當我們使用rm命令的時候,系統並不會真正刪除這個資料。除非有檔案非要將資料儲存在原來檔案的這些block中。這樣原來的block就會被新檔案給覆蓋掉。
=============================================