1.初識inode:
檔案存于硬碟上(硬碟最小存儲單元是“扇區”(sector),每個扇區儲存512位元組)
作業系統讀硬碟時,一次性讀取一個“塊”(block)(8個sector組成)
由多個扇區組成的塊——>檔案存取的最小機關
檔案資料存儲在“塊”中
儲存檔案元資訊——>inode(索引節點)
2.inode包含檔案的元資訊,其内容:
檔案位元組數、檔案擁有者的User ID、檔案的Group ID、檔案的讀、寫、執行權限、檔案的時間戳、連結數(即有多少檔案名指向這個inode)、檔案資料block位置
(除了檔案名以外的所有檔案資訊,都存在inode中)
3.檢視指令
stat example //檢視某個檔案的inode資訊
sudo dumpe2fs -h /dev/hda | grep "Inode size" //檢視每個inode節點的大小
df -i //檢視每個硬碟分區的inode總數和已經使用的數量
ls -i //整個目錄檔案裡的檔案名和inode号碼
ls -i example //檢視檔案名對應的inode号碼
4.硬碟格式化時,将硬碟分為2個區域:
資料區(存放檔案資料)
inode區 (inode table,存放inode所包含的資訊)
5.(1)硬連結(hard link)
Unix/Linux允許,可用不同的檔案名通路同樣的内容。對檔案内容的修改,會影響所有檔案名,但删除一個檔案名,不影響另一個檔案名的通路。(inode号碼一樣)
建立:ln 源檔案 目标檔案
特點:有相同的inode号,僅檔案名不同的檔案(檔案有相同的inode及data block);
隻能對已存在檔案進行建立;
不能對目錄進行建立,隻能對檔案進行建立;
删除一個硬連結檔案,不影響其他具有相同inode号碼的檔案
(2)軟連結(soft link 或者 symbol link)
檔案A、檔案B的inode号碼不一樣,但檔案A的内容是檔案B的路徑。讀取檔案A時,系統自動将通路者導向檔案B。是以,無論打開那個檔案,最終讀取的都是檔案B。——>此時,檔案A稱為檔案B的“軟連結”(或“符号連結”)。檔案A依賴于檔案B而存在,如果删除檔案B,打開檔案A就會報錯“沒有這個檔案或目錄”。
eg:ln -s test.c(B) try.c(A)
那麼 try.c(A)——>test.c(B)
軟連結有自己的inode号及使用者資料塊。
建立:ln -s 源檔案或目錄 目标檔案或目錄
特點:軟連結有自己的檔案屬性及權限;
可對不存在檔案或目錄建立軟連結;
軟連結可對檔案或目錄進行建立;
建立軟連結時,連接配接計數不會增加;