2017-08-24 61 views
-2

首先,我創建了一個軟鏈接到可執行mesher和我確認它實際上有:軟鏈接是找不到的,即使它顯然有

[[email protected] mesh_subdir] ln -s mesher ../mesher 
[[email protected] mesh_subdir] cd ../ 
[[email protected] project_home] ls 
file1 file2 mesher 

似乎罰款。現在

,我想執行mesher

[[email protected] project_home] ./mesher 
-bash: ./mesher: No such file or directory 

爲什麼?我清楚地看到一個文件mesherproject_home。我也嘗試按兩次標籤查看所有選項,並且mesher從不顯示。與此同時,catfile1file2正常工作。

爲什麼mesher在我的文件系統中找不到,我該怎麼辦?

(這是在OS X塞拉利昂是bash shell)

回答

1

符號鏈接可以有相對路徑。 線ln -s mesher ../mesher的意思是「使../mesher一個符號鏈接到當前目錄中名爲mesher文件現在,當你做cd ..,當前目錄的變化。 - 改變鏈接的目標

嘗試ls -l mesher代替ls ,你將看到的問題:mesher符號鏈接指向自身

而是嘗試反過來:從目錄鏈接放置符號應位於:

cd .. 
ln -s mesh_subdir/mesher mesher 

順便說一句,如果源和目標具有相同的名稱,則可以省略鏈接的名稱:ln -s mesh_subdir/mesher在這裏就足夠了。

1

,因爲它在目標相對創建:

ln -s dirname/mesher ../mesher 

也ls -l命令顯示斷鏈

cd .. 
ls -l mesher 
相關問題