Scroll to navigation

LN(1) General Commands Manual LN(1)

NAME

ln -在檔案之間建立連接

總覽

ln [options] source [dest]
 
ln [options] source...directory

POSIX 選項:

[-f]

GNU 選項(縮寫):

[-bdfinsvF] [-S backup-suffix] [-V {numbered, existing, simple}] [--help] [--version] [--]

描述

在Unix世界裏有兩個'link'(連接)概念,一般稱之為硬連接和軟連接。一個硬連 接僅僅是一個檔名。(一個檔案可以有好幾個檔名,只有將最後一個檔名從 磁碟上刪除,才能把這個檔案刪掉。檔名的個數是由ls(1)來確定的。所有的檔案 名都處於同一個狀態,也就沒有什麼“源名字” 之說。通常檔案系統裏的一個 檔案的所有名字包含著一樣的數據信息,不過這樣也不是必需的。)一個軟連接 (或符號連接)是完全不同的:它是一個包含了路徑信息的小小的指定檔案。因此, 軟連接可以指向不同檔案系統裏的檔案(比如由NFS裝載的不同機器檔案系統上的文 件),甚至可以指向一個不一定確實存在的檔案。在軟連接檔案被訪問(系統調用 open(2) 或stat(2))的時候,作業系統用該檔案所包含的路徑替換該檔案的訪問介 入點,從而實現對所指檔案的訪問。(用命令rm(1)和unlink(2)可以刪除連接,但 不是刪除該檔案所指向的檔案。系統指定調用lstat(2)和readlink(2) 來讀取連接 檔案與其所指檔案的狀態。到底是對軟連接檔案操作,還是對被指向檔案操作,由 於不同作業系統件存在不同的系統調用,而存在著差異。)
 
ln 在檔案間產生連接。預設時,產生硬連接,有-s選項,則產生符號(軟)連接。
 
如果僅僅只給出一個檔名,那麼ln將在當前目錄裏產生這個檔案的連接, 也就是說,以該檔案(的最後一個)名稱等同的名字在當前目錄裏產生一個連接 (GNU范圍內); 如果最後一個參數是一個已存在的目錄名, ln 將在那個目錄裏給每一個源檔案用以與源檔案相同的檔名產生連接, (不同情況見以下--no-dereference的描述); 如果只給出兩個檔名,ln將產生源檔案的連接; 如果最後一個參數不是一個目錄名或多於兩個檔名,則報錯。
 
預設時,ln不刪除已存在的檔案或符號連接。 (因此,它可以被用來鎖定目標檔案,即當dest已經不存在時) 但選項-f可以強制執行。
 
在已存在的實現中,只有超級使用者才能建立目錄的硬連接。 POSIX 禁止系統調用link(2)和ln建立目錄的硬連接 (但是允許在不同的檔案系統間建立硬連接)。
 

POSIX 選項

-f
刪除已存在的目的檔案。

GNU 選項

-d, -F, --directory
允許超級使用者建立目錄硬連接。
-f, --force
刪除已存在的目的檔案。
-i, --interactive
提示是否刪除已存在的目的檔案。
-n, --no-dereference
當所給出的目的檔名是一個目錄的符號連接時,將其視為一般檔案處理。
 
當目的目錄名是一個確實存在的目錄(不是一個符號連接)時, 不進行模糊處理,而在那個目錄裏建立連接。 但是當所指定的目的目錄名是一個符號連接時, 有兩種方式來對待使用者的要求。 ln 會視目的為一個普通目錄,並且在裏面建立連接。 或者如同符號連接本身一樣地視其為一個非目錄。 這種情況下,ln 將在建立新連接之前刪除或備份這個符號連接。 預設地,把符號連接視為普通目錄來對待。
-s, --symbolic
建立符號連接以替代硬連接。 在不支持符號連接的系統上,這個選項僅僅會產生一個錯誤提示而已。
-v, --verbose
在建立連接前顯示所操作的檔名。

GNU 備份選項

對於想備份那些有可能被覆蓋、改寫或者被破壞的檔案, GNU提供了比如:cp, mv, ln, install和patch等命令。 可以使用-b參數生成備份檔案。備份檔案的名稱由-V參數指定。 假如備份檔案的名稱是通過原檔名加延伸檔名而得到, 那麼要用-S參數來指定這個延伸檔名。
-b, --backup
備份檔案。
-S SUFFIX,-suffix=SUFFIX
在備份檔案後添加"SUFFIX"(你的延伸檔名)。如果不使用該參數,則使用環境變量 SIM_PLE_BACHUP_SUFFIX,如果該環境變量沒有設置,則預設地使用'~'。
-V METHOD,-version-control=METHOD
指定備份檔案如何命名。 參數"METHOD"可以是'numbered'(或't'), ´existing´(或´nil´),或´never´(或´simple´)。 如果不使用該參數,則使用環境變量VERSION_CONTROL, 如果該環境變量沒有設置,則預設地使用 'existing'。
 
正確有效的METHOD參數對應於Emacs變量'version-control'。(唯一被承認的縮寫):
 
t, numbered 產生數字標記形式的備份檔案。
 
nil, existiong 對已有數字標記備份的檔案進行數字備份,而簡單備份其他類型檔案。
 
never, simple 總是進行簡單備份。
 
 

GNU 標準參數

-help
在標準輸出上顯示使用信息並順利退出。
-version
在標準輸出上顯示版本信息並順利退出
--
終端參數列表。
 
 

環境變量

變量LANG, LC_ALL, LC_COLLATE, LC_CTYPE和LC_MESSAGES具有通常意義。 在GNU版本裏,變量 SIMPLE_BACKUP_SUFFIX和VERSION_CONTROL控制備份檔案的命名。
 

遵循

POSIX 1003.2,儘管POSIX 1003.2(1996)沒有討論軟連接。 軟連接在BSD中有介紹,在System V release3(或更老版本)系統中不出現。
 

另見

ls(1), rm(1), link(2), lstat(2), open(2), readlink(2), stat(2), unlink(2)
 

注意

本文出自應用文件-4.0,其他版本肯定會有微小差別。 任何添加或糾錯意見請寄:aeb@cwi.nl。 程式Bugs請告知:fileutils-bugs@gnu.ai.mit.edu
 

[中文版維護人]

Surran <email>

[中文版最新更新]

2000/10/19

[中國Linux論壇man手冊頁翻譯計劃]

http://cmpp.linuxforum.net
November 1998 GNU fileutils 4.0