1. 命令幫助
-> % ln --help Usage: ln [OPTION]... [-T] TARGET LINK_NAME (1st form) or: ln [OPTION]... TARGET (2nd form) or: ln [OPTION]... TARGET... DIRECTORY (3rd form) or: ln [OPTION]... -t DIRECTORY TARGET... (4th form) In the 1st form, create a link to TARGET with the name LINK_NAME. In the 2nd form, create a link to TARGET in the current directory. In the 3rd and 4th forms, create links to each TARGET in DIRECTORY. Create hard links by default, symbolic links with --symbolic. By default, each destination (name of new link) should not already exist. When creating hard links, each TARGET must exist. Symbolic links can hold arbitrary text; if later resolved, a relative link is interpreted in relation to its parent directory. 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 -i, --interactive prompt whether to remove destinations -L, --logical dereference TARGETs that are symbolic links -n, --no-dereference treat LINK_NAME as a normal file if it is a symbolic link to a directory -P, --physical make hard links directly to symbolic links -r, --relative create symbolic links relative to link location -s, --symbolic make symbolic links instead of hard links -S, --suffix=SUFFIX override the usual backup suffix -t, --target-directory=DIRECTORY specify the DIRECTORY in which to create the links -T, --no-target-directory treat LINK_NAME as a normal file always -v, --verbose print name of each linked file --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 Using -s ignores -L and -P. Otherwise, the last option specified controls behavior when a TARGET is a symbolic link, defaulting to -P. GNU coreutils online help: <http://www.gnu.org/software/coreutils/> Full documentation at: <http://www.gnu.org/software/coreutils/ln> or available locally via: info '(coreutils) ln invocation'
2. 說明
ln命令是linux系統中一個非常重要命令,英文全稱是“link”,即鏈接的意思,它的功能是為某一個文件在另外一個位置建立一個同步的鏈接。 一種是hard link,又稱為硬鏈接;另一種是symbolic link,又稱為符號鏈接。
通俗一點理解,可以把硬鏈接當成源文件的副本,他和源文件一樣的大小,但是事實上卻不占任何空間。符號鏈接可以理解為類似windows一樣的快捷方式。
符號鏈接 :
- 1. 符號鏈接以路徑的形式存在,類似於Windows操作系統中的快捷方式。
- 2. 符號鏈接可以跨文件系統 ,硬鏈接不可以。
- 3. 符號鏈接可以對一個不存在的文件名進行鏈接,硬鏈接不可以。
- 4. 符號鏈接可以對目錄進行鏈接,硬鏈接不可以。
硬鏈接:
- 1.硬鏈接以文件副本的形式存在,但不占用實際空間。
- 2. 硬鏈接不允許給目錄創建硬鏈接。
- 3.硬鏈接只有在同一個文件系統中才能創建。
語法格式: ln [參數] [源文件或目錄] [目標文件或目錄]
3. 常用參數
-b | 為每個已存在的目標文件創建備份文件 |
-d | 此選項允許“root”用戶建立目錄的硬鏈接 |
-f | 強制創建鏈接,即使目標文件已經存在 |
-n | 把指向目錄的符號鏈接視為一個普通文件 |
-i | 交互模式,若目標文件已經存在,則提示用戶確認進行覆蓋 |
-s | 對源文件建立符號鏈接,而非硬鏈接 |
-v | 詳細信息模式,輸出指令的詳細執行過程 |
4. 示例
硬鏈接創建(文件)
ln /root/dir/file.txt ./file_1
軟連接創建(目錄)
ln -s /var/data/log ./data/log
參考鏈接:
https://linux265.com/course/linux-command-ln.html