硬鏈接與軟鏈接的聯系與區別

硬鏈接與軟鏈接的聯系與區別

    文件都有文件名與數據,這在 Linux 上被分成兩個部分:用戶數據 (user data) 與元數據 (metadata)。用戶數據,即文件數據塊 (data block),數據塊是記錄文件真實內容的地方;而元數據則是文件的附加屬性,如文件大小、創建時間、所有者等信息。元數據中的inode才是文件的唯一標識而非文件名。為了方便使用者記憶和使用才有了文件名。

        為了解決文件的共享使用,Linux系統就引入了兩種鏈接:硬鏈接和軟鏈接(又叫符號鏈接)。鏈接為Linux系統解決了文件共享使用,還帶來了隱藏文件路徑,增加權限安全及節省存儲等眾多實用的便利。

 硬鏈接:如果一個inode號對應多個文件名,則稱這些文件為硬鏈接。也就是說硬鏈接就是同一個文件使用了多個名字,他們有一個共同的inode號。

 軟連接:在liunx中的所有都是以文件表示的,軟連接可以看成一個文本文件,它的內容是保存目標文件名的路徑地址,這個文件包含了另一個文件的路徑名,而且可以是任意文件或目錄,通俗點說就跟win下的快捷方式差不多。使用相對路徑創建的軟鏈接被移動后該軟鏈接文件將成為一個死鏈接

 

 

兩者的區別:

1,硬鏈接不能對目錄創建,只能對文件創建。

2, 文件有相同的 inode 及文件數據塊( data block);

3, 不能交叉文件系統進行硬鏈接的創建;

4, 只能對已存在的文件進行創建;

5, 刪除一個硬鏈接文件并不影響其他有相同 inode 號的文件。

6, 軟鏈接有自己的文件屬性及權限等;

7, 可對不存在的文件或目錄創建軟鏈接;

8, 軟鏈接可交叉文件系統;

9, 軟鏈接可對文件或目錄創建;

10,            創建軟鏈接時,鏈接計數 i_nlink 不會增加;

11,            刪除軟鏈接并不影響被指向的文件,但若被指向的原文件被刪除,則相關軟連接被稱為死鏈接(即 dangling link,若被指向路徑文件被重新創建,死鏈接可恢復為正常的軟鏈接)。

原創文章,作者:stacey,如若轉載,請注明出處:http://www.www58058.com/53242

(0)
staceystacey
上一篇 2016-10-20
下一篇 2016-10-20

相關推薦

  • N25-第四周作業

    第四周作業 1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 ~]#cp -r /etc/skel /home/tuser1 ~]#chmor 700 /home/tuser1 2、編輯/etc/group文件,添加組hadoop。 ~]#echo "h…

    Linux干貨 2017-01-03
  • 源碼編譯安裝之apache

    工具: Development tools組包 httpd-2.2.9.tar.gz links網站瀏覽工具   安裝apache之前需要安裝編譯需要的環境“Development tools”這個是編譯使用的必須的環境包,使用下面的命令可以安裝。 [root@CentOS6 ~]# yum groupinstall&…

    Linux干貨 2016-08-24
  • 05linux用戶和組的權限總結

    1、文件的權限分類 文件的權限對象分三類:屬主(u)、屬組(g)、其他(o),每個對象都有rwx,讀寫執行三類權限。 對于文件 r:可查看文件內容 w:可修改其類容 x:可把此文件提請內核啟動為一個進程 對于目錄 r:可使用ls查看此目錄中文件列表 w:可在此目錄中創建和刪除文件 x:可使用ls查看目錄中文件列表,可以cd進入此目錄 X:只給目錄x權限,不給…

    Linux干貨 2016-11-27
  • linux 權限相關知識

    linux day 6     用戶、組和權限 1.Linux用戶:Username/UID         管理員:root, 0         普通用戶:1-65535             …

    Linux干貨 2016-08-08
  • puppet進階管理之終極應用

         上一篇博客寫了puppet操作file、cron、user、group、exec基礎資源的使用,連接地址為 http://www.www58058.com/13990  這次實驗puppet的操作Package、Server和puppet的特殊資源屬性Metaparameters。 回顧下…

    Linux干貨 2016-04-12
  • shell腳本之選擇與執行

    流程控制 ? 過程式編程語言: 順序執行 選擇執行 循環執行 選擇執行:if語句 ? 注意:if語句可嵌套 ? 單分支 if 判斷條件:then 條件為真的分支代碼 fi ? 雙分支 if 判斷條件; then 條件為真的分支代碼 else 條件為假的分支代碼 fi 多分支 if…

    Linux干貨 2016-09-19
欧美性久久久久