1. 程式人生 > 其它 >『Linux學習筆記』5. 連結 -- ln

『Linux學習筆記』5. 連結 -- ln

本篇將介紹作業系統中的重要概念 -- 連結;

Linux中, 連結的實現被封裝為了ln命令.

其包括"符號連結"和"硬連結";

硬連結

與更加現代的符號連結相比,硬連結是最初 Unix 建立連結的方式。每個檔案預設會有一個硬連結, 這個硬連結給予檔名字。我們每建立一個硬連結,就為一個檔案建立了一個額外的目錄項。 硬連結有兩個重要侷限性:

  1. 一個硬連結不能關聯它所在檔案系統之外的檔案。這是說一個連結不能關聯與連結本身不在同一個磁碟分割槽上的檔案。

  2. 一個硬連結不能關聯一個目錄。

以下是Linux中建立硬連結的方法:

ln file link

為檔案file在link目錄下建立一個硬連結

符號連結

建立符號連結是為了克服硬連結的侷限性。符號連結生效,是通過建立一個特殊型別的檔案,這個檔案包含一個關聯檔案或目錄的文字指標。在這一方面,它們和 Windows 的快捷方式差不多,當然,符號連結要比 Windows 的快捷方式要早太多了;

一個符號連結指向一個檔案,而且這個符號連結本身與其它的符號連結幾乎沒有區別。例如,如果你往一個符號連結裡面寫入東西,那麼相關聯的檔案也被寫入。然而,當你刪除一個符號連結時,只有這個連結被刪除,而不是檔案自身。如果先於符號連結刪除檔案,這個連結仍然存在,但是不指向任何東西。在這種情況下,這個連結被稱為"壞連結"。在許多實現中,ls 命令會以不同的顏色展示壞連結,比如說紅色,來顯示它們 的存在。

以下程式碼展示瞭如何為檔案或目錄item在link目錄下建立符號連結:

ln -s item link