Symlink
rm my-symlink 和 rm my-symlink/ 的區別
只是想知道為什麼如果我使用
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
標誌,這不會導致錯誤。