unix系統當中 軟連線與硬連線的區別(轉)
unix系統當中 軟連線與硬連線的區別(轉)[@more@]以前一直不明白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
訪問許可權與檔案所有者當中有個數字, 代表的就是此檔案或者目錄的硬連線數量。
要講清楚這兩個的區別,首先要明白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
訪問許可權與檔案所有者當中有個數字, 代表的就是此檔案或者目錄的硬連線數量。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-961204/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 軟連線與硬連結的區別,以及如何刪除軟連結
- linux 的軟連線與硬連線Linux
- 轉載:內連線與外連線的區別
- 軟連結與硬連結的區別
- LINUX 硬連線和軟連線Linux
- SQL Server中內連線和外連線的區別SQLServer
- 連結檔案 (硬連線 與 符號連線)符號
- 等值連線和自然連線的區別
- “軟連結”和“硬連結”的區別
- 硬連結和軟連結的區別
- Linux軟連線和硬連結Linux
- sql和hql中join語句區別,以及hibernate中內連線,迫切內連線,左外連線,迫切左外連線,右外連線的區別(合集)...SQL
- ln命令:軟連結與硬連結的區別與應用
- LINUX ln命令硬連線軟連線詳細解釋Linux
- 簡談linux中軟連結和硬連結的區別Linux
- 表與表之間連線式on,using以及自然連線的區別
- 軟連線、硬連結 和 i節點(inode)
- SAP ECC系統連線SAP PI系統的系統連線配置
- LAN連線和WAN連線有什麼區別?
- 【轉載】通訊長連線與短連線
- 何為軟連線、何為硬連結(含圖解)圖解
- Oracle(+)連線與Join連線Oracle
- 左連線與右連線
- 長連線與短連線
- Http和Socket連線區別HTTP
- oracle 專用伺服器連線與共享伺服器連線的概念和區別Oracle伺服器
- php與myslq的連線(轉)PHP
- 時間管理與其他系統的連線
- 轉摘_儲存型別與連線方式型別
- scrapy軟連線失效和pip軟連線失效
- ORACLE 半連線與反連線Oracle
- 外連線與連線順序
- 輪詢、長輪詢、短連線、長連線區別對比
- 內聯,左外聯,右外聯,全連線,交叉連線 的區別
- SQL中的左連線和右連線SQL
- Linux/UNIX套接字連線Linux
- 區分socket連線和tcp/ip連線TCP
- win10系統下遠端桌面連線怎麼退出當前連線_win10如何退出遠端桌面連線Win10