Como apagar todos os arquivos e diretórios em um diretório, incluindo os ocultos, exceto .htaccess?

0

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!

    
por datasn.io 29.12.2012 / 11:20

2 respostas

3

No bash:

shopt -s dotglob extglob
rm !(.htaccess)
    
por 29.12.2012 / 12:18
3

Eu usaria encontrar, como: find /path/to/dir/ -mindepth 1 -not -name .htaccess -delete

    
por 29.12.2012 / 13:34

Tags