Linux, Como deletar uma pasta com mais de 1 milhão de arquivos?

1

Estou trabalhando em um site para um cliente e vejo apenas uma pasta contendo mais de 1 milhão de arquivos em cache.

Eu preciso deletá-lo, mas não posso, eu tenho esta mensagem: Lista de argumentos muito longa

Eu comecei a deletar todos os arquivos começando com aaa *, bbb *, ccc * .... mas eu não quero passar minha vida ... (rm -f aaa*.string.php)

Como posso fazer isso? Obrigado!

    
por djsmiley2k 12.02.2013 / 11:21

3 respostas

7

find e xargs são seus amigos, como sempre:

find -type f -print0 | xargs -0 rm

Ou, para o caso especial de exclusão (obrigado, Eddy_Em):

find -type f -delete
    
por 12.02.2013 / 11:23
3

Em vez de remover os arquivos individuais, você pode remover e recriar a própria pasta:

cd folder/..
rm -rf folder
mkdir folder

Se isso funcionar no seu cenário, provavelmente será muito mais rápido do que qualquer método baseado em enumerar e remover explicitamente os arquivos individuais.

    
por 12.02.2013 / 11:23
0

Tente

ls | xargs -n 200 rm -f

Eventualmente removerá tudo

Você pode usar grep para fazer correspondência de padrões se quiser excluir um subconjunto dos arquivos

    
por 12.02.2013 / 11:25