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