鏈結檔案(ln 指令)

對於使用位於不同地點的相同資料來說,使用 ln 指令來鏈結檔案是很方便的方式。

建立鏈結的方式是提供替代名稱給原來的檔案。對於大型的檔案,例如資料庫或郵寄清單,經由使用鏈結,不需複製即可讓許多使用者共用該檔。鏈結不僅省節磁碟空間,對於檔案的變更,亦會自動反應在所有的鏈結檔案中。

ln 指令會將 SourceFile 參數中指定的檔案鏈結到 TargetFile 參數中指定的檔案,或鏈結到 TargetDirectory 參數中指定的另一個目錄中的相同檔名。根據預設值,ln 指令是建立固定鏈結。若要使用 ln 指令建立符號鏈結,請加入 -s 旗標。
註: 若沒有使用 -s 旗標,就您不能跨越檔案系統鏈結檔案。

如果您要將檔案鏈結至一個新名稱,則只能列出一個檔案。如果您鏈結至目錄,則您可列出一個以上的檔案。

TargetFile 參數是選用性。如果您沒有指定目標檔,ln 指令就會在您的現行目錄中建立一個檔案。新檔案會繼承 SourceFile 參數中指定的檔名。

請參閱下列範例:
  • 若要建立檔案 chap1 的鏈結,請鍵入:
    ln -f chap1 intro
    此指令會將 chap1 鏈結到新名稱 intro。有使用 -f 旗標時,即使檔名 intro 不存在,亦會建立該檔案。如果 intro 已存在,則以 chap1 的鏈結來置換該檔案。chap1intro 這兩個檔名皆會參照相同的檔案。
  • 若要將檔案 index 鏈結到另一個名為 manual 目錄中的相同名稱,請鍵入:
    
    ln index manual
    此動作會將 index 鏈結到新名稱 manual/index
  • 若要將數個檔案鏈結到另一個目錄中的名稱,請鍵入:
    
    ln chap2 jim/chap3 /home/manual
    這會將 chap2 鏈結到新名稱 /home/manual/chap2,並將 jim/chap3 鏈結到 /home/manual/chap3
  • 若要使用 ln 指令搭配型樣相符字元,請鍵入:
    ln manual/* .
    註: 您必須在星號和句點之間輸入一個空格。
    如此會將所有位於 manual 目錄中的檔案鏈結至現行目錄中,點 (.) 讓它們具有與 manual 目錄中相同的名稱。
  • 若要建立符號鏈結,請鍵入:
    ln -s /tmp/toc toc
    此動作在現行目錄中建立一個符號鏈結 toctoc 檔案會指向 /tmp/toc 檔案。如果 /tmp/toc 檔案存在,cat toc 指令就會列出其內容。
  • 若要保存相同結果,但不指定 TargetFile 參數,請鍵入:
    ln -s /tmp/toc

請參閱 Commands Reference, Volume 3 中的 ln 指令,以取得完整語法。