ln 中文man頁面
名字
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'),
#p#
NAME
ln - make links between files
SYNOPSIS
ln [OPTION]... TARGET [LINK_NAME]
ln [OPTION]... TARGET... DIRECTORY
ln [OPTION]... --target-directory=DIRECTORY TARGET...
DESCRIPTION
Create a link to the specified TARGET with optional LINK_NAME. If LINK_NAME is omitted, a link with the same basename as the TARGET is created in the current directory. When using the second form with more than one TARGET, the last argument must be a directory; create links in DIRECTORY to each TARGET. Create hard links by default, symbolic links with --symbolic. When creating hard links, each TARGET must exist.
Mandatory arguments to long options are mandatory for short options too.
- --backup[=CONTROL]
- make a backup of each existing destination file
- -b
- like --backup but does not accept an argument
- -d, -F, --directory
- allow the superuser to attempt to hard link directories (note: will probably fail due to system restrictions, even for the superuser)
- -f, --force
- remove existing destination files
- -n, --no-dereference
- treat destination that is a symlink to a directory as if it were a normal file
- -i, --interactive
- prompt whether to remove destinations
- -s, --symbolic
- make symbolic links instead of hard links
- -S, --suffix=SUFFIX
- override the usual backup suffix
- --target-directory=DIRECTORY
- specify the DIRECTORY in which to create the links
- -v, --verbose
- print name of each file before linking
- --help
- display this help and exit
- --version
- output version information and exit
The backup suffix is `~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. Here are the values:
- none, off
- never make backups (even if --backup is given)
- numbered, t
- make numbered backups
- existing, nil
- numbered if numbered backups exist, simple otherwise
- simple, never
- always make simple backups
AUTHOR
Written by Mike Parker and David MacKenzie.
REPORTING BUGS
Report bugs to <bug-coreutils@gnu.org>.
COPYRIGHT
Copyright © 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
SEE ALSO
The full documentation for ln is maintained as a Texinfo manual. If the info and ln programs are properly installed at your site, the command
- info coreutils ln
should give you access to the complete manual.