unix系統當中 軟連線與硬連線的區別

2021-04-20 05:07:42 字數 1501 閱讀 8653

以前一直不明白unix系統當中硬連線軟連線的區別,閒暇無聊時候想鍛鍊看些英文的計算機資料,忽然有點心得體會。

要講清楚這兩個的區別,首先要明白unix系統當中檔案的儲存。unix檔案當中檔案的儲存可以分為三部分:

1、 檔名 file name;

2、 我們稱之為inode, 裡面儲存了此檔案的屬性,包括檔案大小、所有者、以及訪問許可權等等。

3、 資料塊 data;

以乙個例子講:

目標檔名稱 /opt/public.c 要建立的軟連線的名稱為a , 建立的硬連線的名稱為b。

此時/opt/public.c 檔案的儲存為: 1、檔名稱 public.c 2、inode 為1233

3、資料塊為檔案的資料塊。

那此時軟連線a的儲存為: 1、 檔名稱:a 2、inode為 1423(系統分配值) 3、資料塊資料為:/opt/public.c

硬連線b的儲存為: 1、 檔名稱:b 2、inode為1233 3、資料塊為檔案的資料塊。

從上面我們知道軟連線有自己的inode 和資料塊,他的資料塊當中的內容為所要連線的檔案的絕對或者相對路徑。而硬連線和他所要連線的檔案共有同乙個inode 和資料塊。

這兩個連線不同之處主要體現在訪問許可權上,建立的軟連線的訪問許可權是777,但是這不是他的實際訪問許可權,他的實際訪問許可權還是以它所連線的檔案的訪問許可權為準。而硬連線建立的時候的訪問許可權就是它所連線的訪問許可權,因為他們共用乙個inode,而inode當中所儲存的就是此檔案的訪問許可權。

需要補充的是,軟連線可以跨檔案系統,而硬連線不能跨檔案系統。

看乙個檔案或者目錄的硬連線數量可用ls -al

drwxr-xr-x 10 jlivr other 512 jun 9 16:23 .

drwxrwxr-x 13 root sys 512 apr 11 15:17 ..

-rw------- 1 jlivr other 3442 jun 9 16:21 .bash_history

-rw-r--r-- 1 jlivr other 1039 may 11 17:04 .profile

drwxr-xr-x 2 jlivr other 512 apr 26 15:58 bin

drwxr-xr-x 3 jlivr other 1024 apr 26 15:51 inc

drwxr-xr-x 2 jlivr other 512 apr 26 15:51 lib

drwxr-xr-x 8 jlivr other 512 jun 6 17:18 mex

drwxr-xr-x 2 jlivr other 1024 may 20 12:21 new_voice

drwxr-xr-x 2 jlivr other 512 may 23 01:06 obj

訪問許可權與檔案所有者當中有個數字, 代表的就是此檔案或者目錄的硬連線數量。

軟連線與硬連線

要弄清楚2者的區別,首先得明白linux系統中檔案是如何儲存的.在linux中儲存乙個檔案由3部分組成 檔名 inode block 資料塊 關於inode block用來儲存資料.而inode呢,就是用來儲存這些資料的資訊,這些資訊包括檔案大小,歸屬的使用者組,讀寫許可權等.inode為每個檔案進...

Linux 軟連線與硬連線

linux 軟連線與硬連線 2008 10 31 15 44 13 標籤 linux 職場休閒 軟連線與硬連線 linux 軟連線與硬連線 對於乙個檔案來說,有唯一的索引接點與之對應,而對於乙個索引接點號,卻可以有多個檔名與之對應。因此,在磁碟上的同乙個檔案可以通過不同的路徑去訪問該檔案。注意在li...

Linux軟連線與硬連線

linux鏈結概念 linux鏈結分兩種,一種被稱為硬鏈結 hard link 另一種被稱為符號鏈結 symbolic link 預設情況下,ln命令產生硬鏈結,ln s命令產生軟連線。硬連線 硬連線指通過索引節點來進行連線。在linux的檔案系統中,儲存在磁碟分割槽中的檔案不管是什麼型別都給它分配...