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查看宿主目錄的絕對路徑,第二個文件夾的名字就是宿主目錄名 )

