我剛剛發現rm -f
無法從樹中刪除文件,包括只讀目錄。有沒有替代指令可以做到這一點?刪除是由 rnapshot 觸發的,我考慮為“cmd_rm”提供不同的值。
背景:我正在使用rnapshot
它在刪除資料夾 _delete.XXXXX 時發出大量“權限被拒絕”錯誤。這些錯誤恰好發生在唯讀目錄中的檔案上。這些目錄是由 git-annex 自動建立的,所以我不能簡單地給它們寫權限。
例子:
在唯讀目錄中設定兩個具有不同寫入權限的檔案:
$ mkdir 我的目錄 $ 觸碰 mydir/test1 $ 觸碰 mydir/test2 $ chmod aw mydir/test1 $ chmod aw mydir/
試著刪除這些東西:
$ rm -r mydir/ rm:進入寫入保護目錄「mydir」? y rm:刪除已寫保護的常規空檔「mydir/test1」? y rm:無法刪除「mydir/test1」:權限被拒絕 rm:無法刪除「mydir/test2」:權限被拒絕
我什至無法直接刪除文件:
$ rm -rf mydir/test2 rm:無法刪除「mydir/test2」:權限被拒絕
在刪除之前搜尋唯讀目錄並使它們可寫:
(find /path/to/remove -type d -not -writable | xargs chmod u+w) && rm -rf /path/to/remove
但該命令似乎確實涉及一項相當簡單的任務。這真的是唯一的解決方案嗎?我怎麼能告訴 rsnapshot 做這樣的事情?
答案1
我無法發表評論,所以我在這裡寫下來。
據我所知,只讀意味著只讀 - 期間。不讀寫。
我想你必須以讀寫方式掛載你的目錄。