標籤:
Linux系統中的檔案都檔案名稱和資料,在 linux 上面被分為兩個部分:中繼資料與資料。使用者資料,即檔案資料區塊( data block ),資料區塊是記錄檔案真實內容的地方,而中繼資料是檔案的附加屬性,如大小,建立時間,所有者等資訊。在 Linux 中,中繼資料中的 inode 號( inode 是檔案的中繼資料的一部分,但其不包含檔案名稱, inode 號即索引節點號)才是檔案的唯一標識而不是檔案名稱。檔案名稱僅是為了方便人們的記憶和使用,系統或程式通過 inode 號尋找正確的檔案資料快。為 程式通過檔案名稱擷取檔案內容的過程
在 Linux 系統中查看 inode 號可使用命令 stat 或 ls –i
永久連結:
硬串連是直接建立在節點表上的(inode),建立硬串連指向一個檔案的時候,會更新節點表上面的計數值。 舉個例子,一個檔案被串連了兩次(硬串連),這個檔案的計數值是3,而無論通過3個檔案名稱中的任何一個訪問,效果都是完全一樣的,但是如果刪除其中任意一個,都只是把計數值減1,不會刪除實際的內容的,(任何存在的檔案本身就算是一個硬串連)只有計數值變成0也就是沒有任何硬串連指向的時候才會真實的刪除內容。
永久連結特性:
檔案有相同的 inode 及 data block;
只能對已存在的檔案進行建立;
不能交叉檔案系統進行永久連結的建立;
不能對目錄進行建立,只可對檔案建立;
刪除一個永久連結檔案並不影響其他有相同 inode 號的檔案。
軟連結 :
軟連結不直接使用inode號作為檔案指標,而是使用檔案路徑名作為指標(軟連結:檔案名稱 + 資料部分–>目標檔案的路徑名)。軟體有自己的inode,並在磁碟上有一小片空間存放路徑名。因此,軟連結能夠跨檔案系統,也可以和目錄連結!其二,軟連結可以對一個不存在的檔案名稱進行連結,但直到這個名字對應的檔案被建立後,才能開啟其連結。
軟連結的特性:
軟連結有自己的檔案屬性及許可權等;
可對不存在的檔案或目錄建立軟連結;
軟連結可交叉檔案系統;
軟連結可對檔案或目錄建立;
建立軟連結時,連結計數 i_nlink 不會增加;
永久連結與軟連結是 Linux 檔案系統中的一個重要概念,其涉及檔案系統中的索引節點 (index node 又稱 inode),而索引節點對象是 Linux 虛擬檔案系統 (VFS) 的四個基本概念之一。通過剖析永久連結與軟連結的聯絡與區別,我們可更好的瞭解 Linux 中 VFS 這一通用檔案模型。並讓 Linux普通使用者和系統管理員正確使用永久連結與軟連結,協助檔案系統開發人員擷取 inode 的相關知識。
文章來源:營運部落
Linux系統的軟連結與永久連結有什麼區別?