UNIX - ln 指令

【功能】

連接檔案或是給檔案一個別名

【語法】

ln [-f] [-n] [-s] file [file2...] target

【說明】

ln 指令是建立已存在的檔案 filen 到 target 的連接,如同對已存在的檔案增加額外的名稱,但實際上仍只有一個檔案存在,並非複製成一個新檔。

ln 指令所造成的連接可分為硬連接(hard link)和符號連接(symbolic link)二種,若無指定則系統是以硬連接的方式來處理。這二種不同處在於硬連接只限於相同檔案系統上的連接,且不可連接目錄;而符號連接則允許跨越不同檔案系統間的連接。

1. 若 target 是個已存在的目錄名稱,則在 target 目錄內會產生一個名稱為 filen 的檔案,然後連接到原來的 filen。

2. 若 target 是個已存在的檔案名稱則內容將被刪除,但若是被設定為禁止寫入的存取權限時,則會印出其存取模式要求使用者確認是否要做連接處理,若確定要連接則輸入 'y'。

UNIX 內部是以 i-node 號碼做為檔案的識別碼,所以一個檔案在建立時,系統即指定 i-node 號碼。使用者若修改具有連接性質的檔案時,亦是對其連接的檔案同時做更改,如此可達成一致性和節省空間。

【選項】

選 項 說 明
-f 對無寫入權力的檔案進行連接時,ln 指令不會向使用者要求確認。
-n 若 target 是已存在的檔案時,則使 ln 指令停止執行,而不會將此檔案的內容刪除(-f 選項會將此選項取消)。
-s(symbolic) 建立符號連接(symbolic link)。符號連接可跨越檔案系統對不同檔案系統的檔案及目錄進行連接。

★註: 選項 -n、-s 是在 SVR4 版本時才開始提供。

【範例】

1. 建立連接:

ln report answer

如果 report 是個已存在的檔案,這時它將有另一個名稱answer,兩者指的是相同的檔案,對其中任一檔進行修改,另一個檔案亦會改變。但刪除其中任一檔(如使用 rm 指令),另一個檔案仍會繼續存在,只有在所有的連接檔案都被刪除時,檔案內的資料才會真正被刪除。在進行連接時,二個檔案亦可指定分別位於不同的目錄下。

網路電視    旅遊景點    算命    象棋殘局    回首頁