Você pode usar rm -vpara ter rmimprimir uma linha por arquivo excluído. Dessa forma, você pode ver que rmrealmente está trabalhando para excluir arquivos. Mas se você tiver bilhões de arquivos, tudo o que verá é que rmainda está funcionando. Você não terá idéia de quantos arquivos já foram excluídos e quantos restam.
A ferramenta pvpode ajudá-lo com uma estimativa de progresso.
http://www.ivarch.com/programs/pv.shtml
Aqui está como você iria invocar rmcom pvcom o exemplo de saída
$ rm -rv dirname | pv -l -s 1000 > logfile
562 0:00:07 [79,8 /s] [====================> ] 56% ETA 0:00:05
Neste exemplo, eu disse pvque existem 1000arquivos. A saída de pvmostra que 562 já foram excluídos, o tempo decorrido é de 7 segundos e a estimativa a ser concluída é de 5 segundos.
Alguma explicação:
pv -lfaz pvcontar por novas linhas em vez de bytes
pv -s numberinforma pvqual é o total para que você possa fazer uma estimativa.
- O redirecionamento para
logfileno final é para saída limpa. Caso contrário, a linha de status de pvserá confundida com a saída de rm -v. Bônus: você terá um arquivo de log do que foi excluído. Mas cuidado, o arquivo ficará enorme. Você também pode redirecionar para /dev/nullse não precisar de um log.
Para obter o número de arquivos, você pode usar este comando:
$ find dirname | wc -l
Isso também pode levar um longo tempo se houver bilhões de arquivos. Você pode usar pvaqui também para ver o quanto isso contou
$ find dirname | pv -l | wc -l
278k 0:00:04 [56,8k/s] [ <=> ]
278044
Aqui diz que levou 4 segundos para contar 278k arquivos. A contagem exata no final ( 278044) é a saída de wc -l.
Se você não quiser esperar a contagem, poderá adivinhar o número de arquivos ou usar pvsem estimativa:
$ rm -rv dirname | pv -l > logfile
Assim, você não terá nenhuma estimativa para concluir, mas pelo menos verá quantos arquivos já foram excluídos. Redirecione para /dev/nullse você não precisar do arquivo de log.
Nitpick:
- você realmente precisa
sudo?
- geralmente
rm -ré suficiente para excluir recursivamente. não precisa rm -f.