鏈結

鏈結 是目錄與物件之間的具名連線。 使用者或程式可以指定物件的鏈結名稱,以告知系統在何處尋找物件。 鏈結可以作為路徑名稱或路徑名稱的一部分。

對於目錄型檔案系統的使用者,可以很方便地將物件 (例如檔案) 視為具有向系統識別其名稱的物件。 事實上,它是識別物件的目錄路徑。 有時您可以只提供物件的 名稱來存取物件。 您可以這樣做,因為系統設計成在特定狀況下假設路徑的目錄部分。 鏈結的構想利用現實,即它是識別物件的目錄路徑。 名稱是提供給鏈結,而不是物件。

在您習慣鏈結具有名稱而非物件的想法之後,您會開始看到之前隱藏的可能性。 相同物件可以有多個鏈結。 例如,兩個使用者可以透過具有從每個使用者的起始目錄到檔案的鏈結 (請參閱 起始目錄) 來共用檔案。 某些類型的鏈結可以跨檔案系統,且可以在不存在物件的情況下存在。

鏈結有兩種類型: 固定鏈結和符號鏈結。 在程式中使用路徑名稱時,您可以選擇使用固定鏈結或符號鏈結。 每一種類型的鏈結都有優缺點。 其中一種鏈結類型相對於另一種鏈結類型具有優勢的條件如下:

表 1. 固定鏈結與符號鏈結的比較
項目 固定鏈結 (hard link) 符號鏈結
名稱解決方法 快點 固定鏈結包含對物件的直接參照。 慢點 符號鏈結包含物件的路徑名稱,必須解析才能尋找物件。
物件存在 必要。 物件必須存在,才能建立其固定鏈結。 選用。 當它所參照的物件不存在時,可以建立符號鏈結。
物件刪除 受限。 必須解除鏈結 (移除) 所有指向物件的固定鏈結,才能刪除物件。 不受限制。 即使有參照物件的符號鏈結,也可以刪除物件。
靜態物件 (屬性不變) 快點 對於靜態物件,名稱解析是主要效能考量。 使用固定鏈結時,名稱解析會更快。 慢點 使用符號鏈結時,名稱解析會較慢。
範圍 受限。 硬式鏈結無法跨越檔案系統。 不受限制。 符號鏈結可跨越檔案系統。