inode table與文件鏈接

一:inode table:
 

inode table是data area的索引表;
inode table保存着系統所含文件信息列表;每個項目都稱爲inode(每個128btye),可以通過對應的inode號碼來調用。
1。inode包含的信息有:
*文件類型(文件、目錄等)
*文件權限
*鏈接計數:和inode號碼相關聯的文件名的數量
*文件所有者的用戶ID,相關羣組的ID
*時間戳:最後存取時間、修改時間和最後一次inode改變時間
*數據在硬盤上的位置:所以當Linux 在讀取數據的時候,首是先查詢 inode table 以得到數據是放在硬盤上的位置,然後再去該位置讀取真正的數據內容!
*其他一些信息
2。cp、mv、rm對inode的影響:
cp和inode:
1)分配一個未使用的inode號碼,在inode 表中添加一個新項目;
2)在目錄中創建一個目錄項,關聯文件名和inode號碼;
3)把數據複製到新文件中。

  rm和inode:
1)減少鏈接數量,釋放inode號碼(號碼可以被重新使用);
2)數據塊放到可用空間列表中;
3)刪除目錄中的目錄項;-----實際文件內容並沒有被刪除,知道被別的文件覆蓋
mv和inode:
 如果mv命令的目標和源文件所在的文件系統相同:
1)使用新文件名建立目錄項;
2)刪除帶有原來文件名的目錄項;
備註:該操作對inode表沒有影響(除時間戳),對數據的位置也沒有影響,不移動任何數據。
如果目標和源文件所在文件系統不相同,就是cp和rm;
二:硬鏈接和軟連接:
1。硬鏈接:
*同一個inode號碼使用多個文件名來和他對應;
*用rm來刪除硬鏈接文件:
1)僅僅是減少鏈接數量;
2)只要有一個鏈接存在文件就存在;
3)當鏈接數爲零,文件就被刪除了。
*無法跨越分區;
*建立硬鏈接文件:ln 文件名  鏈接名

 

2。軟連接(符號鏈接):
指向目標文件的符號鏈接,文件類型: l  表示鏈接符號;符號鏈接的內容就是它所指向的文件名;
*軟連接文件有自己的inodes,適合原文件不同的單獨文件;
*符號鏈接文件的權限無關緊要,主要是他所鏈接的文件的權限;
*rm刪除的話只是刪除這個鏈接文件。
*建立軟鏈接文件:ln –s 文件名  鏈接名
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章