No bash:
shopt -s dotglob extglob
rm !(.htaccess)
Como a pergunta sugere, eu tenho uma situação em que tenho uma pasta na qual os usuários podem carregar coisas estranhas lá. Tenha um cron job configurado para limpar esta pasta a cada poucas horas.
Ele tem um .htaccess por razões de segurança, é claro, minha pergunta é, como eu posso deletar tudo (arquivos e diretórios) nesse diretório, incluindo aqueles cujo nome começa com um ponto, mas não o . htaccess ?
Atualmente tenho rm -rf *
para fazer o trabalho, mas se o usuário fizer o upload de um arquivo com um nome que comece com um ponto, ele não será excluído.
Qualquer ajuda seria muito apreciada. Obrigado!
Eu usaria encontrar, como: find /path/to/dir/ -mindepth 1 -not -name .htaccess -delete