一、簡介
大家在windows下可以看到我們桌面上有一些程式。雙擊它就可以執行了。在我們桌面上的圖示只是乙個快捷方式,它真正的執行路徑是在其他的磁碟中。這個就是我們的windows中鏈結。我們的linux系統中也存在類似的形式,我們linux中的鏈結形式有兩種,一種叫做軟鏈結,一種叫做硬連線。在講解之前,大家需要先知道一些檔案的基本知識。
linux系統中乙個檔案由目錄項、inode表和資料塊組成。
目錄項:包括檔名和inode節點號
inode表:包含檔案的一些資訊。例如,inode號,檔案型別,檔案大小等待。
資料塊:檔案具體內容存放的地方。
當我們檢視乙個檔案的時候,linux系統的執行過程如下圖。
1、首先根據檔名,找到我們目錄項中的inode號。
2、通過inode號進入我們inode表中,查詢到該檔案中一些資訊。
3、然後通過inode表中的儲存的資料區的指標,讀取我們相應資料區的內容。
一、硬鏈結
本質:是給我們的檔案取別名。與原始檔直接關聯。修改乙個,另乙個同時被修改。刪除乙個另乙個不會有影響。
linux系統中規定,只有在檔案的開啟次數為0(即檔案這個時候沒有開啟),並且檔案的硬連線數為0,此時檔案才會被刪除
特點:(1)不占用硬碟空間
(2)不能對目錄操作
(3)不能跨檔案系統
例如:
由上面介面可以知道,我們新建的硬鏈結檔案,只是給原始檔起了乙個別名,他們公用同乙個inode號。
一、軟鏈結(符號鏈結)
本質:類似於我們windows的快捷方式,用來記錄我們目標的路徑
特點:(1)占用磁碟空間
(2)可以對目錄操作
(3)可以跨檔案系統
可以發現我們新建的hello2.c實質是我們hell1.c的快捷方式。並且他們的inode號不一樣。
原理圖:
從圖上可以看出硬鏈結和軟鏈結的區別:
1:硬鏈結原檔案和新檔案的inode編號一致。而軟鏈結不一樣。
2:對原檔案刪除,會導致軟鏈結不可用,因為軟連線儲存是路徑,而硬鏈結不受影響。
硬連線與軟連線檔案
linux中有兩種連線檔案,軟連線 符號連線 和硬連線,軟連線類似於windows下的快捷方式,硬連線通過檔案系統的inode連線來產生新檔名,而不是產生新檔案。inode 記錄檔案屬性,乙個檔案乙個inode。inode相當於檔案id,訪問檔案時,檔案系統需找到inode編號之後才允許您訪問。1 ...
軟連線,硬連線
首先要弄清楚,在linux 下面舉一些例子 ls il 13058 rwx 1 longcheng longcheng 48 8月 5 16 38 file1 13059 rwx 1 longcheng longcheng 57 8月 5 16 40 file2 ln file2 file2hard...
硬連線 軟連線
硬鏈結 系統呼叫link在檔案系統結構中將乙個檔案鏈結到另外乙個新的名字上,也就是為被鏈結檔案的索引節點建立乙個新的目錄項。通過鏈結操作,乙個檔案可以有兩個以上的不同名字,系統可以通過其中任意乙個名字來訪問檔案。核心並不知道哪個名字是最初的檔名。這種為索引節點建立新目錄項的鏈結方式稱為 硬鏈結 乙個...