< 返回新聞公共列表

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

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

符號鏈接是Linux中的一種文件類型,它指向計算機上的另一個文件或文件夾。符號鏈接類似于Windows中的快捷方式。

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

區(qū)別:

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

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


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


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


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

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

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

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

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

文件或文件夾。)

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

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

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

運行此命令后,我們將能夠/home/james/transactions.txt訪問trans.txt. 對原始文件的任何修改trans.txt也將反映在原

始文件中。

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

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

當前目錄中必須有一個名為“my-stuffs”的目錄 - 如果沒有,該命令將拋出錯誤。

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

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

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

夾。


二、如何刪除符號鏈接?

在我們想要刪除符號鏈接之前,可能需要確認文件或文件夾是符號鏈接,以便我們不會篡改文件。

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

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

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

有兩種方法可以刪除符號鏈接:

1、如何使用取消鏈接刪除符號鏈接?

語法是:unlink <path-to-symlink>

如果該過程成功,這將刪除符號鏈接。

即使符號鏈接是文件夾的形式,也不要附加“/”,因為Linux會認為它是一個目錄并且unlink無法刪除目錄。

2、如何使用rm刪除符號鏈接

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

因此,語法是:rm <path-to-symlink>

例如:

rm trans.txt

rm james

請注意,嘗試這樣做rm james/會導(dǎo)致錯誤,因為Linux會假設(shè)“james/”是一個目錄,這將需要其他選項,例如r和f。

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

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


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

當符號鏈接指向的文件或文件夾更改路徑或被刪除時,就會出現(xiàn)損壞的鏈接。

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

嘗試訪問該文件都會導(dǎo)致“沒有此類文件或目錄”錯誤。這是因為該鏈接沒有自己的內(nèi)容。

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

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

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


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

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


/template/Home/Zkeys724/PC/Static