如何刪除目錄中的所有檔案和目錄,包括 .htaccess 之外的隱藏檔案和目錄?

如何刪除目錄中的所有檔案和目錄,包括 .htaccess 之外的隱藏檔案和目錄?

正如問題所暗示的,我遇到了一種情況,我有一個資料夾,用戶可以在那裡上傳奇怪的東西。設定一個 cron 作業每隔幾個小時清理一次此資料夾。

出於安全原因,它有一個 .htaccess,當然,我的問題是,如何刪除該目錄中的所有內容(文件和目錄),包括名稱以點開頭的隱藏目錄,但不刪除.htaccess

我目前必須rm -rf *完成這項工作,但如果用戶上傳名稱以點開頭的文件,則該文件不會被刪除。

任何幫助將非常感激。謝謝!

答案1

在bash中:

shopt -s dotglob extglob
rm !(.htaccess)

答案2

我會使用查找,例如:find /path/to/dir/ -mindepth 1 -not -name .htaccess -delete

相關內容