正如問題所暗示的,我遇到了一種情況,我有一個資料夾,用戶可以在那裡上傳奇怪的東西。設定一個 cron 作業每隔幾個小時清理一次此資料夾。
出於安全原因,它有一個 .htaccess,當然,我的問題是,如何刪除該目錄中的所有內容(文件和目錄),包括名稱以點開頭的隱藏目錄,但不刪除.htaccess?
我目前必須rm -rf *
完成這項工作,但如果用戶上傳名稱以點開頭的文件,則該文件不會被刪除。
任何幫助將非常感激。謝謝!
答案1
在bash中:
shopt -s dotglob extglob
rm !(.htaccess)
答案2
我會使用查找,例如:find /path/to/dir/ -mindepth 1 -not -name .htaccess -delete