題 如何刪除目錄的符號鏈接?


我用以下命令做了一個符號鏈接:

ln -s ../test5

我想現在刪除它,但我的rm失敗了:

$ rm -Rf test5/
rm: cannot remove `test5/': Not a directory
$ rm test5/
rm: cannot remove directory `test5/': Is a directory
$ rmdir test5/
rmdir: test5/: Not a directory
$rm -r test5/
rm: cannot remove `test5/': Not a directory

$ls -l
 0 lrwxrwxrwx  1 peter peter    8 Jul 20 15:30 test5 -> ../test5/

如何刪除我的符號鏈接? (Ubuntu 8.10,bash)


91
2017-07-20 12:40


起源


小費: rm -r link/ 刪除目標上的內容 - Gayan Weerakutti


答案:


刪除尾部斜杠:

提示:

$ rm test5

沒有提示:

$ rm -f test5


116
2017-07-20 12:51



它說 permission denied。 - 1.21 gigawatts
沒有尾隨斜線。所以 test5/ 是不正確的。 - pylover


嘗試 rm test5
(沒有訓練斜線)。

斜杠表示'test5'是一個direactory,而它實際上是一個文件 鏈接 到一個目錄。


18
2017-07-20 12:54





您可以運行刪除尾部斜杠:

$ rm test5

這將刪除文件(即符號鏈接)。

或者,您可以使用取消鏈接:

$ unlink test5

您再次必須省略尾部斜杠,因為您試圖取消鏈接符號鏈接而不是目錄。


11
2017-07-20 13:06





有時,如果您使用自動完成功能來命名要刪除的鏈接,則可能看不到尾部斜杠,但它是“一半”,並且在嘗試刪除該鏈接時,不可見的斜杠仍然會出現刪除錯誤。

因此,在這種情況下,按字符鍵入要刪除的鏈接作為“test5”,例如。 rm test5


0
2018-02-14 23:23



從來沒有聽說過無形的斜線。這有什麼外殼? - Kamil Maciorowski
我認為它可能是由linewrap + cursor隱藏的字符的引用? - bertieb


我覺得很傻,但你試過了嗎? rm -r? 由於它是一個符號鏈接,因此不應刪除目標。

編輯:剛嘗試過,這是正確的

編輯2:rmdir在手冊頁的第一行說它刪除了空目錄。我想是因為它是一個鏈接,它在其文件屬性上檢查了目錄位,但是因為rmdir不懷疑是這種情況它會發出錯誤。只需使用rm -r


-2
2017-07-20 12:42



這將要求我刪除目錄中的文件,這不是我想要的,我只想刪除鏈接 - Peter Smit
提問是因為我的.profile中定義了交互式。添加了對rm -r的響應。它仍然無法正常工作。 - Peter Smit
你留下了尾隨'/',這就是它失敗的原因 - bobby