天天看點

硬連結和符号連結詳解

檔案屬性軟硬連接配接:

連結有兩種,一種被稱為硬連結(Hard Link),另一種被稱為符号連結(Symbolic Link)。建立硬連結時,連結檔案和被連結檔案必須位于同一個檔案系統中,并且不能建立指向目錄的硬連結。而對符号連結,則不存在這個問題。預設情況下,ln産生硬連結。

在硬連結的情況下,參數中的“目标”被連結至[連結名]。如果[連結名]是一個目錄名,系統将在該目錄之下建立一個或多個與“目标”同名的連結檔案,連結檔案和被連結檔案的内容完全相同。如果[連結名]為一個檔案,使用者将被告知該檔案已存在且不進行連結。如果指定了多個“目标”參數,那麼最後一個參數必須為目錄。

如果給ln指令加上- s選項,則建立符号連結。如果[連結名]已經存在但不是目錄,将不做連結。[連結名]可以是任何一個檔案名(可包含路徑),也可以是一個目錄,并且允許它與“目标”不在同一個檔案系統中。如果[連結名]是一個已經存在的目錄,系統将在該目錄下建立一個或多個與“目标”同名的檔案,此建立的檔案實際上是指向原“目标”的符号連結檔案。

硬連結:ln 源檔案 目标檔案

軟連接配接:ln -s 源檔案 目标檔案(目标檔案不能已經存在)

1. 硬連結(hard link) :

在Linux檔案系統中,多個檔案名指向同一個索引節點(inode)。這種情況檔案就稱為硬連結。硬連結檔案就相當于檔案的另外的一個入口。

例:

[root@centos ~]# ls -il ett.txt

39 -rw-r--r--. 1 root root 292 5月  10 19:58 ett.txt

[root@centos ~]# ln ett.txt a

[root@centos ~]# ls -hil ett.txt a

39 -rw-r--r--. 2 root root 292 5月  10 19:58 a

39 -rw-r--r--. 2 root root 292 5月  10 19:58 ett.txt

硬連結知識:

  1. 具有相同inode節點号的多個檔案是互為硬連結檔案
  2. 删除硬連結檔案或者删除源檔案任意之一,檔案實體并未被删除
  3. 隻有删除了源檔案及所有對應的硬連結檔案,檔案實體才會被删除
  4. 當所有的硬連結檔案及源檔案被删除後,再存放新的資料會占用這個檔案的空間,或者磁盤fsck檢查的時候,删除的資料也會被系統回收
  5. 硬連結檔案就是檔案的另一個入口
  6. 可以通過給檔案設定硬連結檔案,來防止重要檔案被誤删
  7. 通過執行 ln 源檔案 硬連結檔案 即可建立硬連結檔案
  8. 硬連結檔案是普通檔案,是以可以用rm指令删除
  9. 對應靜态檔案(沒有程序正在調用的檔案)來講,當對應硬連結數為0(i_link),檔案就被删除了。i_link的檢視方法:ls -l 第三列的數字就是

硬連結的限制:

我們在使用硬連結的同時也需要對硬連結的限制有所了解; 

1. 不能跨檔案系統 

2. 不能連結到目錄

2.軟連結(symbolic link):

軟連接配接又叫做符号連結,它幾乎可以等價于windows下的快捷方式;

[root@centos ~]# ls -li install.log b

121 lrwxrwxrwx  1 root root    11 5月  18 15:14 b -> install.log

13 -rw-r--r--. 1 root root 21712 5月   8 00:06 install.log

軟連接配接的建立:

軟連接配接知識:

  1. 軟連接配接類似window的快捷方式(可以通過readiink檢視其指向)
  2. 軟連接配接類似一個文本檔案,裡面存放的是源檔案的路徑,指向源檔案實體
  3. 删除源檔案,軟連接配接檔案依然存在,但是無法通路指向的源檔案路徑内容了
  4. 失效的時候一般是白字紅底閃爍提示
  5. 執行指令“ln -s 源檔案 軟連接配接檔案”,即可完成建立軟連接配接(目标不能存在)
  6. 軟連接配接和源檔案是不同類型的檔案,也是不同的檔案,inode号也不相同
  7. 軟連接配接檔案的檔案類型為(l),可以用rm指令删除
硬連結和符号連結詳解

有關檔案的整體總結:

1.删除軟連接配接,對源檔案和硬連結檔案都沒有影響

2.删除硬連結,對源檔案和軟連接配接檔案都沒有影響

3.删除源檔案,對硬連結沒有印象,但是會導緻軟連接配接檔案失效,白底紅字閃爍

4.同時删除源檔案和硬連結檔案,整個檔案才會真正的被删除

5.源檔案和硬連結檔案具有相同的索引節點号,可以認為是同一個檔案或一個檔案多個入口

6.源檔案和軟連接配接檔案的索引節點号不相同,是不同的檔案,軟連接配接檔案相當于源檔案的快捷方式,含有源檔案的位置指向

有關目錄的總結:

  1. 對于目錄,不可以建立硬連結,但可以建立軟連接配接

繼續閱讀