檔案的軟硬鏈結

2021-08-21 14:28:47 字數 1814 閱讀 1336

軟鏈結原理

軟鏈結又叫符號鏈結(symbolic link),本身是乙個檔案,類似於windows下的快捷方式,可以通過連線檔案轉到原檔案,即訪問原檔案的內容。

軟鏈結建立

建立乙個軟鏈結

ln -s 原檔名 目的檔名

:可以看到軟鏈結檔案的屬性為l。

操作乙個軟鏈結檔案

(1)現象:

注:我們可以發現,刪除原檔案,軟鏈結檔案本身是存在的,但是它的內容是不能被訪問的。

(2)原因

我們可以回到刪除原檔案前的操作。

第一列是inode號,第二列是檔案屬性,第三列是連線數,第四列是擁有著,第五列是所屬使用者組。

關於inode

每個檔案的內容會分三處位置儲存,檔案的檔名儲存在所在目錄的目錄檔案的block中,這個block儲存的是檔名和檔案inode的對映關係,也就是檔名與目錄有關;而檔案屬性和內容分別儲存在檔案的inode和block中,且檔案的inode存有檔案的block號

讀取某個檔案內容的過程是:在目錄檔案的block通過檔名找到對應的inode號,找到這個inode然後讀取其中的block號,找到這個block再讀取這個block的內容

多個檔名可以對應到同乙個inode號,當兩個檔名的inode號相同,就代表在目錄block的記錄中,這兩個檔名指向同乙個inode,這兩個檔名對檔案系統來說就是同乙個檔案的不同名字

對於軟鏈結來說,inode所指向的內容實際上儲存了乙個絕對路徑,當使用者訪問這個檔案時,作業系統自動將其替換成其所指向的檔案路徑。

因為這個檔案已經被刪除了,所以自動就會顯示無法找到該檔案。

建立硬鏈結
ln 原檔名  硬鏈結檔名

操作硬鏈結

注:我們可以發現,對乙個軟鏈結檔案進行操作,其實質是操作原檔案。

刪除硬鏈結

注:我們發現刪除原檔案,硬鏈結檔案照樣是存在的,並且可以開啟內容。

原因:

可以看到硬鏈結的inode號是一樣的。

對於硬鏈結的inode,你可以把它想成c語言指標,它指向了物理硬碟上的乙個區塊,事實上檔案系統會維護乙個引用計數,只要有檔案指向區塊,檔案就不會從硬碟上消失。

檔案命令軟硬鏈結

mkdir p 建立多級目錄 cp r 拷貝多級目錄就是複製目錄 包括目錄中的檔案 mv 移動目錄 也可以修改名稱 rm rf 刪除檔案和目錄 硬鏈結 ln 原檔名 硬鏈結的檔名 原始檔硬連線數會變為2 修改任意乙個檔案,另乙個檔案也會改變 ll i 會發現連個檔案的id號是一樣的。所以兩個是同一檔...

Linux的軟硬鏈結

linux鏈結分為兩種,一種是硬鏈結一種是符號鏈結。硬鏈結是指通過索引節點來進行。再linux檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配乙個編號,稱為索引節點 inode index 在linux中,多個檔案指向同乙個索引節點是存在的,一般這種連線就是硬鏈結。硬鏈結的作用就是允許乙...

linux軟硬鏈結

ln分為軟鏈結和硬鏈結 1 軟連線 s ln s mnt hgfs share hvshare2 相當於在當前目錄下新建乙個名為hvshare2的快捷方式指向 mnt hgfs share路徑 ls hvshare2可顯示指向路徑下的所有檔案,刪除hvshare2相當於刪除原路徑的快捷方式 2 ln...