Symlink

rm my-symlink 和 rm my-symlink/ 的區別

  • June 1, 2018

只是想知道為什麼如果我使用rm -rf my-symlink它只會刪除符號連結,但rm -rf my-symlink/會刪除連結目錄中的文件並單獨保留符號連結?

您可以通過比較 和 的輸出來查看stat my-symlink差異stat my-symlink/my-symlink,沒有斜線,是符號連結本身;my-symlink/,帶斜線的是符號連結指向的目錄,您可以通過比較my-symlink/它所指向的目錄的 inode 和 的 inode 來單獨驗證。

有了這些資訊,您所看到的行為與rm的規範中描述的行為相匹配:處理符號連結時,如果連結指向rm目錄,則刪除該連結而不“進入”它;處理目錄時(使用-r選項),它會遞歸刪除其內容。在這種my-symlink/情況下,rm確實嘗試刪除“目錄”,但由於它不是目錄而是符號連結而失敗 - 但是由於-f標誌,這不會導致錯誤。

引用自:https://unix.stackexchange.com/questions/447295