軟鏈接ln -s以及如何解決其產生“Too many levels of symbolic links ”的錯誤?


Q1:如何利用ln -s來創建快捷方式?

A1:ln(link,鏈接文件):

Windows中的快捷方式,實際上快捷方式和它指向的文件是獨立的兩個文件,兩個都占硬盤空間,只不過用戶訪問快捷方式時,其效果等同於訪問指向的文件;

Linux中有兩種鏈接文件:

1)軟鏈接(符號鏈接symbol),等同於Windows中快捷方式ln -s 源文件名 符號鏈接文件名,源文件名和符號鏈接文件名是主從關系,源被刪了,符號鏈接也就失效了, eg: ln -s src.c linker.c (linker.c就是src.c的一個符號鏈接文件);

2)硬鏈接,ln 源文件名 符號鏈接文件名,源文件名和符號鏈接文件名是並列關系,源被刪了,符號鏈接依然有效。硬鏈接實際上和源文件在硬盤中是同一個東西,效果類似於硬盤上的一個文件,在文件系統上,在我們看來有好多個文件一樣。每次刪除一個文件時,只要他還有其他的硬鏈接存在,這個文件就不會被真正刪除。只有等所有的鏈接文件都刪除掉了,這個文件才會被真正從硬盤上刪除。

 


Q2:如何解決ln -s軟鏈接產生“Too many levels of symbolic links ”的錯誤?
A2:在做ln的時候要將文件的絕對路徑下的完整目錄寫上去!
例如想將/mnt/hgfs/下的windows_share/文件夾的鏈接保存到宿主目錄:
 
ln -s /mnt/hgfs/windows_share/ /home/grush/
(tip: grush是當前普通用戶的宿主目錄名,每個人都不一樣,先輸入cd ~切換到宿主目錄,然后輸入pwd查看宿主目錄的絕對路徑,第二個文件夾的名字就是宿主目錄名 )
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM