
Tenho tentado vários métodos do SU, mas não consegui fazer isso: recebi uma pasta (exemplo: /var/www/tmp/) que contém vários arquivos e diretórios. Gostaria de excluir todos os arquivos e pastas deste diretório, exceto os arquivos ocultos que residem em/var/www/tmp. Como posso fazer isso?
Obrigado!
editar: para ser claro, gostaria de usar isso em um cronjob
Responder1
find /var/www/tmp -mindepth 1 -maxdepth 1 ! -name ".*" -exec rm -r -- {} +
Encontrará arquivos com profundidade máxima (e mínima) 1 (ou seja, arquivos diretamente no diretório fornecido) que nãonãocomece com um ponto final e execute rm -r
com as correspondências como argumentos.
Experimente primeiro com um eco simples ou algo assim para não dar um tiro no pé antes de entender exatamente como funciona para você.
Isso responde à sua pergunta sobre como manter todos os arquivos ocultos. Seu tópico é um pouco diferente, mas o comando find é facilmente modificado para simplesmente ignorar os arquivos chamados .gitignore
.
Responder2
A menos que você tenha a opção shell dotglob
definida, cd /var/www/tmp; rm -rf *
fará o que quiser