inode表中包含了文件系統全部文件列表
一個節點是在一個表項裏,包含文件數據(元數據)。
1.文件類型,權限,UID,GID
2.連接數(指向這個文件名路徑名稱個數)
3.文件的大小和時間戳
4.指向磁盤上文件的指針
5.有關文件的其餘數據
6.inode 索引節點編號 node
系統中將目錄下的文件名和文件inode號之間的映射做爲目錄的數據存放;人們經過文件名進行操做時,系統會經過對應路徑目錄的inode號找到目錄的inode表數據,進而經過數據指針指向目錄的數據,匹配文件名,獲得文件的inode號;再到inode表中找到此文件的表項,再由文件數據指針指向真正的文件數據。
1.系統中同一分區節點編號是惟一的。
2.不一樣分區的節點編號相同但不是同一個文件。
3.每一個分區的節點編號都是有限的,若是節點編號用完會致使在此分區裏不能建立新的文件,但系統中可能還有大量的磁盤空間,全部必定要注意是不是節點編號用盡。 linux
1.cp命令
系統分配一個空閒的節點編號,在節點表中生成一條新的信息,在目錄中建立一個目錄項,將名稱與inode編號關聯;拷貝數據生成新的文件。ide
2.rm命令
首先文件有沒有連接數,當連接數減到零後,系統釋放節點編號,並刪除目錄表信息和對應的指針,但數據塊的數據不會被刪除,只有系統從新啓用此數據塊時數據纔會被覆蓋。
mv命令
若是目標和源文件都存在相同一個分區裏,則刪除舊的目錄信息,建立新的信息,其餘的沒有改變,若是目標和源文件在不一樣的分區,mv至關於cp和rm。 指針
1.硬連接
語法:ln filename [linkname ]
a. 硬連接的新建是爲同一inode號添加文件名 (本質是在目錄條目裏爲inode號增添一個文件名映射,指向同一個inode表數據,所以數據相同)
b. 新建硬連接,連接數增長(連接數實質就是 inode號 對應文件名的個數;當 inode 號映射的文件名不存在時,此 inode號就會被系統回收重用)
c. 硬連接文件和原文件之間數據共享,但又互相獨立;(修改其中任意一個文件的數據,其餘的文件數據都會改變,刪除硬連接文件則對應的連接數會減小,若是是最後一個連接數則直接刪除文件。)
d. 不能跨分區和跨設備建立硬連接
e. 不能對目錄建立硬連接 (目錄最多有三個硬連接,目錄自己,目錄下的 . ,子目錄下的 ..)
2.軟連接
語法:ln -s filename [linkname ]
a. 軟連接實質是新建一個文件快捷方式,存放的數據是原文件的文件名,文件數據大小是原文件名字的字節數;訪問時經過文件名指向到原文件數據
b. 軟連接支持跨分區
c. 能夠建立目錄軟鏈接
d. 軟連接文件依賴於原始文件 ;刪除原始文件,軟連接文件會失效 blog