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