歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> unix系統當中 軟連接與硬連接的區別

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

日期:2017/2/28 11:24:24   编辑:關於Unix


以前一直不明白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
訪問權限與文件所有者當中有個數字, 代表的就是此文件或者目錄的硬連接數量。
Copyright © Linux教程網 All Rights Reserved