鏈結
鏈結 是目錄與物件之間的具名連線。 使用者或程式可以指定物件的鏈結名稱,以告知系統在何處尋找物件。 鏈結可以作為路徑名稱或路徑名稱的一部分。
對於目錄型檔案系統的使用者,可以很方便地將物件 (例如檔案) 視為具有向系統識別其名稱的物件。 事實上,它是識別物件的目錄路徑。 有時您可以只提供物件的 名稱來存取物件。 您可以這樣做,因為系統設計成在特定狀況下假設路徑的目錄部分。 鏈結的構想利用現實,即它是識別物件的目錄路徑。 名稱是提供給鏈結,而不是物件。
在您習慣鏈結具有名稱而非物件的想法之後,您會開始看到之前隱藏的可能性。 相同物件可以有多個鏈結。 例如,兩個使用者可以透過具有從每個使用者的起始目錄到檔案的鏈結 (請參閱 起始目錄) 來共用檔案。 某些類型的鏈結可以跨檔案系統,且可以在不存在物件的情況下存在。
鏈結有兩種類型: 固定鏈結和符號鏈結。 在程式中使用路徑名稱時,您可以選擇使用固定鏈結或符號鏈結。 每一種類型的鏈結都有優缺點。 其中一種鏈結類型相對於另一種鏈結類型具有優勢的條件如下:
項目 | 固定鏈結 (hard link) | 符號鏈結 |
---|---|---|
名稱解決方法 | 快點 固定鏈結包含對物件的直接參照。 | 慢點 符號鏈結包含物件的路徑名稱,必須解析才能尋找物件。 |
物件存在 | 必要。 物件必須存在,才能建立其固定鏈結。 | 選用。 當它所參照的物件不存在時,可以建立符號鏈結。 |
物件刪除 | 受限。 必須解除鏈結 (移除) 所有指向物件的固定鏈結,才能刪除物件。 | 不受限制。 即使有參照物件的符號鏈結,也可以刪除物件。 |
靜態物件 (屬性不變) | 快點 對於靜態物件,名稱解析是主要效能考量。 使用固定鏈結時,名稱解析會更快。 | 慢點 使用符號鏈結時,名稱解析會較慢。 |
範圍 | 受限。 硬式鏈結無法跨越檔案系統。 | 不受限制。 符號鏈結可跨越檔案系統。 |