< 返回新聞公共列表

如何創(chuàng)建和刪除Linux中的符號(hào)鏈接?

發(fā)布時(shí)間:2023-06-30 15:14:29

符號(hào)鏈接是Linux中的一種文件類型,它指向計(jì)算機(jī)上的另一個(gè)文件或文件夾。符號(hào)鏈接類似于Windows中的快捷方式。

有些人將符號(hào)鏈接稱為“軟鏈接”(Linux/UNIX系統(tǒng)中的一種鏈接類型),而不是“硬鏈接”。軟鏈接和硬鏈接之間的

區(qū)別:

1、軟鏈接類似于快捷方式,可以指向任何文件系統(tǒng)中的另一個(gè)文件或目錄。

2、硬鏈接也是文件和文件夾的快捷方式,但不能為不同文件系統(tǒng)中的文件夾或文件創(chuàng)建硬鏈接。


如何創(chuàng)建和刪除Linux中的符號(hào)鏈接?.png


下面,小編將給大家分析一下如何創(chuàng)建和刪除Linux中的符號(hào)鏈接?


一、如何創(chuàng)建符號(hào)鏈接?

創(chuàng)建符號(hào)鏈接的語(yǔ)法是:

ln -s <path to the file/folder to be linked> <the path of the link to be created>

ln是鏈接命令。該-s標(biāo)志指定鏈接應(yīng)該是軟鏈接。-s也可以輸入為-symbolic.

默認(rèn)情況下,ln命令創(chuàng)建硬鏈接。下一個(gè)參數(shù)是path to the file (or folder)我們想要鏈接。(即您要為其創(chuàng)建快捷方式的

文件或文件夾。)

最后一個(gè)參數(shù)是它path to link本身(快捷方式)。

1、如何為文件創(chuàng)建符號(hào)鏈接:

示例命令:ln -s /home/james/transactions.txt trans.txt

運(yùn)行此命令后,我們將能夠/home/james/transactions.txt訪問(wèn)trans.txt. 對(duì)原始文件的任何修改trans.txt也將反映在原

始文件中。

trans.txt請(qǐng)注意,上面的命令將在當(dāng)前目錄中創(chuàng)建鏈接文件。我們還可以在文件夾鏈接中創(chuàng)建鏈接文件:

ln -s /home/james/transactions.txt my-stuffs/trans.txt

當(dāng)前目錄中必須有一個(gè)名為“my-stuffs”的目錄 - 如果沒(méi)有,該命令將拋出錯(cuò)誤。

2、如何為文件夾創(chuàng)建符號(hào)鏈接?

示例命令:ln -s /home/james james

這將創(chuàng)建一個(gè)名為“james”的符號(hào)鏈接文件夾,其中包含/home/james. 對(duì)此鏈接文件夾的任何更改也會(huì)影響原始文件

夾。


二、如何刪除符號(hào)鏈接?

在我們想要?jiǎng)h除符號(hào)鏈接之前,可能需要確認(rèn)文件或文件夾是符號(hào)鏈接,以便我們不會(huì)篡改文件。

一種方法是:ls -l <path-to-assumed-symlink>

在終端上運(yùn)行此命令將顯示文件的屬性。結(jié)果中,如果第一個(gè)字符是小寫字母 L ('l'),則表示該文件/文件夾是符號(hào)鏈接。

我們還會(huì)在末尾看到一個(gè)箭頭 (->),指示simlink指向的文件/文件夾。

有兩種方法可以刪除符號(hào)鏈接:

1、如何使用取消鏈接刪除符號(hào)鏈接?

語(yǔ)法是:unlink <path-to-symlink>

如果該過(guò)程成功,這將刪除符號(hào)鏈接。

即使符號(hào)鏈接是文件夾的形式,也不要附加“/”,因?yàn)長(zhǎng)inux會(huì)認(rèn)為它是一個(gè)目錄并且unlink無(wú)法刪除目錄。

2、如何使用rm刪除符號(hào)鏈接

正如我們所見,符號(hào)鏈接只是指向原始文件或文件夾的另一個(gè)文件或文件夾。要?jiǎng)h除該關(guān)系,您可以刪除鏈接的文件。

因此,語(yǔ)法是:rm <path-to-symlink>

例如:

rm trans.txt

rm james

請(qǐng)注意,嘗試這樣做rm james/會(huì)導(dǎo)致錯(cuò)誤,因?yàn)長(zhǎng)inux會(huì)假設(shè)“james/”是一個(gè)目錄,這將需要其他選項(xiàng),例如r和f。

但這不是我們想要的。符號(hào)鏈接可能是一個(gè)文件夾,但我們只關(guān)心名稱。

rmover的主要好處unlink是我們可以一次刪除多個(gè)符號(hào)鏈接,就像處理文件一樣。


三、如何查找和刪除損壞的鏈接?

當(dāng)符號(hào)鏈接指向的文件或文件夾更改路徑或被刪除時(shí),就會(huì)出現(xiàn)損壞的鏈接。

例如,如果“transactions.txt”從 移動(dòng)/home/james到/home/james/personal,則“trans.txt”鏈接就會(huì)損壞。每次

嘗試訪問(wèn)該文件都會(huì)導(dǎo)致“沒(méi)有此類文件或目錄”錯(cuò)誤。這是因?yàn)樵撴溄記](méi)有自己的內(nèi)容。

當(dāng)我們發(fā)現(xiàn)損壞的鏈接時(shí),我們可以輕松刪除該文件。查找損壞的符號(hào)鏈接的簡(jiǎn)單方法是:find /home/james -xtype l

這將列出james目錄中所有損壞的符號(hào)鏈接-從文件到目錄再到子目錄。

傳遞該-delete選項(xiàng)將刪除它們,如下所示:find /home/james -xtype l -delete


總結(jié):符號(hào)鏈接是Linux和UNIX系統(tǒng)的一個(gè)有趣的功能。我們可以創(chuàng)建易于訪問(wèn)的符號(hào)鏈接來(lái)引用否則不方便訪問(wèn)的文件

或文件夾。通過(guò)一些練習(xí),我們將直觀地了解它們是如何工作的,并且它們將使我們管理文件系統(tǒng)的效率更高。


/template/Home/Zkeys724/PC/Static