溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux中l(wèi)n命令的使用方法

發(fā)布時間:2020-08-15 11:44:49 來源:億速云 閱讀:224 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹Linux中l(wèi)n命令的使用方法,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

1.命令簡介

ln 命令用來為文件創(chuàng)建鏈接,分為硬鏈接(hard link)和軟鏈接(符號鏈接,symbolic link)兩種,默認(rèn)創(chuàng)建硬連接,如果要創(chuàng)建軟鏈接須使用 -s 選項(xiàng)。本文介紹的是 GNU 版本的實(shí)現(xiàn),其它版本(如 POSIX 版)實(shí)現(xiàn)可能所有不同。

注意:

(1)硬鏈接不是一個獨(dú)立的文件,只是一個文件名。一個文件可以有多個文件名,只有將最后一個文件名從磁盤上刪除,才能把這個文件刪掉;
(2)軟鏈接可以跨文件系統(tǒng),但硬鏈接不能跨文件系統(tǒng),因?yàn)橛叉溄又皇俏募膭e名,而非獨(dú)立的文件;
(3)不能給目錄建立硬鏈接,因?yàn)橛叉溄舆B接到目錄可會導(dǎo)致目錄的 inode 與實(shí)體 block 形成環(huán)狀。此時,如果刪除目錄,會導(dǎo)致目錄實(shí)體 block 無法被系統(tǒng)訪問,產(chǎn)生孤立的目錄(從根目錄無法再訪問);
(4)創(chuàng)建硬鏈接時,每個目標(biāo)必須存在。創(chuàng)建軟鏈接時,目標(biāo)文件可以不存在;
(5)軟鏈接是一個包含了路徑信息的獨(dú)立文件,類似于 Windows 的快捷方式,它的許多屬性依賴于原文件,所以給軟鏈接文件設(shè)置權(quán)限是沒有意義的。

2.命令格式

ln [OPTION]... [-T] TARGET LINK_NAME  (1st form)
ln [OPTION]... TARGET         (2nd form)
ln [OPTION]... TARGET... DIRECTORY   (3rd form)
ln [OPTION]... -t DIRECTORY TARGET... (4th form)

第一種格式,為指定的目標(biāo)文件建立指定名稱的鏈接,這是最長使用的格式;
第二種格式,為指定的目標(biāo)文件建立在當(dāng)前目錄建立同名的鏈接;
第三和第四格式,分別為每一個目標(biāo)文件在指定的目錄下建立同名的鏈接。

3.選項(xiàng)說明

長選項(xiàng)的強(qiáng)制參數(shù)對于短選項(xiàng)也是強(qiáng)制的。

--backup[=CONTROL]
	備份每一個存在的目標(biāo)文件
-b
	類似于 --backup,但不接受參數(shù)
-d, -F, --directory
	允許超級用戶嘗試為目錄建立硬鏈接(注意:由于系統(tǒng)限制,即使超級用戶也可能失敗)
-f, ——force
	強(qiáng)行建立文件或目錄的鏈接,與鏈接同名的文件或目錄將被覆蓋
-i, ——interactive
	覆蓋既有文件之前先詢問用戶
-L, --logical
	建立硬鏈接時,當(dāng)目標(biāo)文件是軟鏈接時,進(jìn)行解引用,指向軟鏈接的目標(biāo)文件
-n, --no-dereference
	把軟鏈接視為一般文件,不進(jìn)行解引用
-P, --physical
	建立硬鏈接時,直接指向軟鏈接本身,而不是指向軟鏈接的目標(biāo)文件(默認(rèn))
-r, --relative
	創(chuàng)建相對于鏈接位置的符號鏈接
-s, --symbolic
	建立軟連接,而非硬連接
-S, --suffix=SUFFIX
	修改備份文件后綴。用 -b 參數(shù)備份目標(biāo)文件后,備份文件后綴默認(rèn)為 ~
-t, --target-directory=DIRECTORY
	指定鏈接文件存放于哪個目錄
-T, --no-target-directory
	將 LINK_NAME 視為鏈接文件而非存放鏈接文件的目錄
-v, ——verbose
	顯示指令執(zhí)行過程
--help
	顯示幫助并退出
--version
	顯示版本并退出

選項(xiàng) --backup 的參數(shù) CONTROL 控制文件備份后的版本生成方式,可取值如下:

none, nil
	不進(jìn)行備份
numbered, t
	使用數(shù)字后綴進(jìn)行滾動。備份文件名后綴依序遞增 ~1~、
existing, nil
	如果有使用數(shù)字后綴則使用數(shù)字,否則使用簡單的備份方式,即只備份一次
simple, never
	只使用簡單的備份方式

使用選項(xiàng) -s 生成軟鏈接時,將忽略選項(xiàng) -L、-P,建立硬鏈接,默認(rèn)使用 -P 選項(xiàng),將硬鏈接指向軟鏈接本身,相當(dāng)于給軟鏈接起了個別名。

4.常用示例

(1)給文件 /etc/passwd 建立軟鏈接。

ln -s /etc/passwd passwdSoftLink

ll passwdSoftLink
lrwxrwxrwx 1 root root  11 Nov 13 22:21 passwdSoftLink -> /etc/passwd

(2)給文件 /etc/passwd 多次建立軟鏈接,軟鏈接的名稱相同,采用數(shù)字表示備份文件的版本號。多次備份,版本號將依序遞增。

ln -s --backup=numbered /etc/passwd passwdSoftLink

ll passwdSoftLink*
lrwxrwxrwx 1 root root  11 Nov 14 10:36 passwdSoftLink -> /etc/passwd
lrwxrwxrwx 1 root root  11 Nov 14 10:36 passwdSoftLink.~1~ -> /etc/passwd

(3)給不存在的文件建立軟鏈接。

ln -s nofile nofileSoftLink

使用 ll 命令查看軟鏈接時,軟鏈接名為紅色,且不存在的目標(biāo)文件名以紅底白字在不停地閃爍。

向軟鏈接 nofileSoftLink 寫入內(nèi)容后保存,將會生成文件 nofile。

(4)給 /etc/passwd 建立硬鏈接。

ln /etc/passwd passwdHardLink

ll -i /etc/passwd passwdHardLink
787795 -rw-r--r-- 2 root root 1552 Jan 4 2019 /etc/passwd
787795 -rw-r--r-- 2 root root 1552 Jan 4 2019 passwdHardLink

使用 ll 命令查看兩個文件時,第一列 inode 號相同,且第三列硬鏈接數(shù)為 2,表示有兩個文件名指向文件的數(shù)據(jù)實(shí)體。

(5)給 /etc/passwd 建立同名的軟鏈接且軟鏈接放在當(dāng)前目錄。即使用第三和第四種命令格式為文件建立鏈接。

ln -s /etc/passwd .

# 或
ln -s -t . /etc/passwd

# 查看
ll passwd
lrwxrwxrwx 1 root root  11 Nov 14 10:43 passwd -> /etc/passwd

注意,書寫目標(biāo)文件時,路徑要相對于目標(biāo)目錄,或者使用絕對路徑,不然軟鏈接無法指向目標(biāo)文件。

(6)創(chuàng)建的鏈接文件有同名的文件時,強(qiáng)制覆蓋,不進(jìn)行備份。

ln -sf /etc/passwd passwdSoftLink

(7)修改軟鏈接指向新的目標(biāo)文件。將軟鏈接 passwdSoftLink 指向 /usr/bin/passwd,重新建立軟鏈接,強(qiáng)制覆蓋原有的軟鏈接 passwdSoftLink 即可。

ln -sf /usr/bin/passwd passwdSoftLink

ll passwdSoftLink
lrwxrwxrwx 1 root root 15 Nov 14 10:52 passwdSoftLink -> /usr/bin/passwd

以上是Linux中l(wèi)n命令的使用方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI