硬鏈接和軟鏈接

硬鏈接(hard link):ln 源文件名 鏈接名

文件A是文件B的硬鏈接,則A的目錄項中的inode節點號與B的目錄項中的inode節點號相同,即一個inode節點對應兩個不同的文件名,兩個文件名指向同一個文件,A和B對文件系統來說是完全平等的。如果刪除了其中一個,對另外一個沒有影響。每增加一個文件名,inode節點上的鏈接數增加一,每刪除一個對應的文件名,inode節點上的鏈接數減一,直到為0,inode節點和對應的數據塊被回收。

文件和文件名是不同的東西,rm A刪除的只是A這個文件名,而A對應的數據塊(文件)只有在inode節點鏈接數減少為0的時候才會被系統回收。

創建目錄時,默認會生成兩個目錄項:"."和".."。前者的inode號碼就是當前目錄的inode號碼,等同於當前目錄的"硬鏈接";後者的inode號碼就是當前目錄的父目錄的inode號碼,等同於父目錄的"硬鏈接"。

軟鏈接(soft link):ln -s 源文件名 鏈接名

軟鏈接也叫符號連接(Symbolic Link)。軟鏈接文件類似於Windows的快捷方式。Linux 中常用它來解決一些庫版本的問題,通常也會將一些目錄層次較深的文件鏈接到一個更易訪問的目錄中

A是B的軟鏈接(A和B都是文件名),A的目錄項中的inode節點號與B的目錄項中的inode節點號不相同,A和B指向的是兩個不同的inode,繼而指向兩塊不同的數據塊。

然而軟鏈接A的 inode 所指向的內容實際上是保存了一個絕對路徑(B的路徑名),當用戶訪問這個文件時,系統會自動將其替換成其所指的文件路徑。

A和B之間是主從關係(B是主,A是從),如果B被刪除了,A仍然存在(因為兩個是不同的文件),但指向的是一個無效的鏈接。


推薦閱讀:

聯想一體機WIN10系統換WIN7系統
系統突發性地磁碟佔有100%,資源管理器無限重啟
操作系統精髓與設計原理讀書筆記8
重裝系統後出現流氓軟體
操作系統引論 | 操作系統的特徵與功能

TAG:操作系統 | 文件系統 |