![什麼是「無法建立符號連結:檔案存在」錯誤?](https://rvso.com/image/1048323/%E4%BB%80%E9%BA%BC%E6%98%AF%E3%80%8C%E7%84%A1%E6%B3%95%E5%BB%BA%E7%AB%8B%E7%AC%A6%E8%99%9F%E9%80%A3%E7%B5%90%EF%BC%9A%E6%AA%94%E6%A1%88%E5%AD%98%E5%9C%A8%E3%80%8D%E9%8C%AF%E8%AA%A4%EF%BC%9F.png)
我正在嘗試在我的主目錄中建立一個指向資料分割區上的目錄和檔案的符號連結。我試過了:
~/Documents$ ln -sv ~/Documents/saga /media/mariajulia/485f3e29-355c-4be3-b80a-1f5abd5604b6/mariajulia/Downloads/saga..doc
建立一個在我的資料夾中的目錄saga
中命名的符號連結。終端輸出為:Documents
home
ln: failed to create symbolic link ‘/media/mariajulia/485f3e29-355c-4be3-b80a-1f5abd5604b6/mariajulia/Downloads/saga..doc’: File exists
~/Documents
我正在檢查ls -a的內容,除了.
和之外什麼都沒有..
。一般來說,我的home
資料夾是空的,它只是一個全新的系統安裝。
答案1
這是一個典型的錯誤......反之亦然:
ln -s Existing-file New-name
所以在你的情況下
ln -sv /media/mariajulia/485f3e29-355c-4be3-b80a-1f5abd5604b6/mariajulia/Downloads/saga..doc ~/Documents/saga
應該管用。但請注意:
如果
~/Documents/saga
存在且不是目錄,也會出現錯誤;如果
~/Documents/saga
存在並且是一個目錄,則符號連結將為~/Documents/saga/saga..doc
(您確定雙點嗎?)如果
~/Documents/saga
不存在,則您的符號連結將是~/Documents/saga
(原樣,沒有擴展名)。
答案2
重定向時 我有同樣的錯誤訊息
ln -s /usr/bin/nodejs /usr/bin/node
從node.js v0.10.25
到node.js v4.2.3
所以我查看man ln
並使用
[OPTION]
-f, --force
remove existing destination files
這正如我所期望的那樣。
答案3
正如@Rmano 在他的中回應的那樣回答參數的順序是錯誤的。我也常犯同樣的錯誤。於是我找到了一個
創建符號連結的萬無一失的方法
首先進入要建立連結的目錄
cd ~/Documents/saga
然後創建連結單一參數。
ln -s /very/long/path/to/target/Downloads/saga..doc
這將建立一個與目標同名的當前目錄的連結。
答案4
可能是無關的。
對我來說,這個連結已經失效了。指向不存在的資料夾。當嘗試替換它時,它會失敗並顯示此訊息。 ^ 所以一個簡單的rm linkName
就夠了。