rm 無法刪除沒有那個檔案或目錄
阿新 • • 發佈:2019-02-20
大家都知道 rm 這個命令 刪除 檔案 或目錄.
簡單說一下 rm 這命令的用法 以及選項
- -f 強制刪除 ,不提醒是否刪除,如果刪除的檔案不存在 則忽略
- -i 每次 刪除的時候,提醒 是否確認刪除
- -r -R 級聯刪除,可以刪除目錄以及目錄下的檔案。
- -v:顯示指令的詳細執行過程。
- -I 這個選項 相對 比-i 提示少一點, 當刪除多個檔案的時候 ,不會一個個詢問你是否要刪除, 而是直接詢問一遍 ,全部刪除。官方說法:刪除三個以上的檔案之前提示一次,或遞迴刪除時。比-i更少干擾,同時仍然保護大多數錯誤。
-
--interactive 這裡有 三個值可以選 --interactive=never --interactive=always --interactive=once 刪除檔案時候 不提示, 總是提示, 只提示一次。
-
--no-preserve-root 不特殊對待 '/' 目錄
但有的時候 會出現 無法刪除的現象。直接看下圖
該目錄下面 明明有 這些檔案 -x.1.txt 但是就刪除不了。
對於這兩種情況
第一種情況:
rm -- -x.1.txt
第二種 情況:
rm '=${fst_day}'
之後 查了一些資料,發現 一種情況,是因為 -x.1.txt 這種檔案 以-x 開頭的檔案,必須要加上 -- 選項 就可以了。
To remove a file whose name starts with a ‘-’, for example ‘-foo’, use one of these commands: rm -- -foo rm ./-foo
要刪除名稱以' - '開頭的檔案,例如'-foo',請使用以下命令之一:
rm - -foo
rm ./-foo
第二種情況 , 可能和這個 = 有關係,所以乾脆加上引號,這樣刪除。
rm '=${fst_day}'
總結: 對於一些無法刪除的情況, 要試著加引號,雙引號, 轉義字元\ , 看看能不能刪除。