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