符號鏈接是Linux中的一種文件類(lèi)型,它指向計算機上的另一個(gè)文件或文件夾。符號鏈接類(lèi)似于Windows中的快捷方式。
有些人將符號鏈接稱(chēng)為“軟鏈接”(Linux/UNIX系統中的一種鏈接類(lèi)型),而不是“硬鏈接”。軟鏈接和硬鏈接之間的
區別:
1、軟鏈接類(lèi)似于快捷方式,可以指向任何文件系統中的另一個(gè)文件或目錄。
2、硬鏈接也是文件和文件夾的快捷方式,但不能為不同文件系統中的文件夾或文件創(chuàng )建硬鏈接。
下面,小編將給大家分析一下如何創(chuàng )建和刪除Linux中的符號鏈接?
一、如何創(chuàng )建符號鏈接?
創(chuàng )建符號鏈接的語(yǔ)法是:
ln -s <path to the file/folder to be linked> <the path of the link to be created>
ln是鏈接命令。該-s標志指定鏈接應該是軟鏈接。-s也可以輸入為-symbolic.
默認情況下,ln命令創(chuàng )建硬鏈接。下一個(gè)參數是path to the file (or folder)我們想要鏈接。(即您要為其創(chuàng )建快捷方式的
文件或文件夾。)
最后一個(gè)參數是它path to link本身(快捷方式)。
1、如何為文件創(chuàng )建符號鏈接:
示例命令:ln -s /home/james/transactions.txt trans.txt
運行此命令后,我們將能夠/home/james/transactions.txt訪(fǎng)問(wèn)trans.txt. 對原始文件的任何修改trans.txt也將反映在原
始文件中。
trans.txt請注意,上面的命令將在當前目錄中創(chuàng )建鏈接文件。我們還可以在文件夾鏈接中創(chuàng )建鏈接文件:
ln -s /home/james/transactions.txt my-stuffs/trans.txt
當前目錄中必須有一個(gè)名為“my-stuffs”的目錄 - 如果沒(méi)有,該命令將拋出錯誤。
2、如何為文件夾創(chuàng )建符號鏈接?
示例命令:ln -s /home/james james
這將創(chuàng )建一個(gè)名為“james”的符號鏈接文件夾,其中包含/home/james. 對此鏈接文件夾的任何更改也會(huì )影響原始文件
夾。
二、如何刪除符號鏈接?
在我們想要刪除符號鏈接之前,可能需要確認文件或文件夾是符號鏈接,以便我們不會(huì )篡改文件。
一種方法是:ls -l <path-to-assumed-symlink>
在終端上運行此命令將顯示文件的屬性。結果中,如果第一個(gè)字符是小寫(xiě)字母 L ('l'),則表示該文件/文件夾是符號鏈接。
我們還會(huì )在末尾看到一個(gè)箭頭 (->),指示simlink指向的文件/文件夾。
有兩種方法可以刪除符號鏈接:
1、如何使用取消鏈接刪除符號鏈接?
語(yǔ)法是:unlink <path-to-symlink>
如果該過(guò)程成功,這將刪除符號鏈接。
即使符號鏈接是文件夾的形式,也不要附加“/”,因為L(cháng)inux會(huì )認為它是一個(gè)目錄并且unlink無(wú)法刪除目錄。
2、如何使用rm刪除符號鏈接
正如我們所見(jiàn),符號鏈接只是指向原始文件或文件夾的另一個(gè)文件或文件夾。要刪除該關(guān)系,您可以刪除鏈接的文件。
因此,語(yǔ)法是:rm <path-to-symlink>
例如:
rm trans.txt
rm james
請注意,嘗試這樣做rm james/會(huì )導致錯誤,因為L(cháng)inux會(huì )假設“james/”是一個(gè)目錄,這將需要其他選項,例如r和f。
但這不是我們想要的。符號鏈接可能是一個(gè)文件夾,但我們只關(guān)心名稱(chēng)。
rmover的主要好處unlink是我們可以一次刪除多個(gè)符號鏈接,就像處理文件一樣。
三、如何查找和刪除損壞的鏈接?
當符號鏈接指向的文件或文件夾更改路徑或被刪除時(shí),就會(huì )出現損壞的鏈接。
例如,如果“transactions.txt”從 移動(dòng)/home/james到/home/james/personal,則“trans.txt”鏈接就會(huì )損壞。每次
嘗試訪(fǎng)問(wèn)該文件都會(huì )導致“沒(méi)有此類(lèi)文件或目錄”錯誤。這是因為該鏈接沒(méi)有自己的內容。
當我們發(fā)現損壞的鏈接時(shí),我們可以輕松刪除該文件。查找損壞的符號鏈接的簡(jiǎn)單方法是:find /home/james -xtype l
這將列出james目錄中所有損壞的符號鏈接-從文件到目錄再到子目錄。
傳遞該-delete選項將刪除它們,如下所示:find /home/james -xtype l -delete
總結:符號鏈接是Linux和UNIX系統的一個(gè)有趣的功能。我們可以創(chuàng )建易于訪(fǎng)問(wèn)的符號鏈接來(lái)引用否則不方便訪(fǎng)問(wèn)的文件
或文件夾。通過(guò)一些練習,我們將直觀(guān)地了解它們是如何工作的,并且它們將使我們管理文件系統的效率更高。
Copyright ? 2013-2020. All Rights Reserved. 恒訊科技 深圳市恒訊科技有限公司 粵ICP備20052954號 IDC證:B1-20230800.移動(dòng)站