Vous pouvez utiliser rm -vpour rmsupprimer une ligne par fichier. De cette façon, vous pouvez voir que cela rmfonctionne effectivement pour supprimer des fichiers. Mais si vous avez des milliards de fichiers, tout ce que vous verrez est que cela rmfonctionne toujours. Vous n'aurez aucune idée du nombre de fichiers déjà supprimés et du nombre restant.
L'outil pvpeut vous aider avec une estimation de progrès.
http://www.ivarch.com/programs/pv.shtml
Voici comment invoquer rmavec pvun exemple de sortie
$ rm -rv dirname | pv -l -s 1000 > logfile
562 0:00:07 [79,8 /s] [====================> ] 56% ETA 0:00:05
Dans cet exemple artificiel, j'ai dit pvqu'il y avait des 1000fichiers. La sortie de pvmontre que 562 sont déjà supprimés, que le temps écoulé est de 7 secondes et que l'estimation à effectuer est de 5 secondes.
Quelques explications:
pv -lfait pvcompter par des nouvelles lignes au lieu d'octets
pv -s numberindique pvle total pour qu'il puisse vous donner une estimation.
- La redirection vers
logfileà la fin est pour une sortie propre. Sinon, la ligne d'état de pvest mélangée avec la sortie de rm -v. Bonus: vous aurez un fichier journal de ce qui a été supprimé. Mais attention, le fichier deviendra énorme. Vous pouvez également rediriger vers /dev/nullsi vous n'avez pas besoin d'un journal.
Pour obtenir le nombre de fichiers, vous pouvez utiliser cette commande:
$ find dirname | wc -l
Cela peut aussi prendre beaucoup de temps s’il ya des milliards de fichiers. Vous pouvez également utiliser pvici pour voir combien il a compté
$ find dirname | pv -l | wc -l
278k 0:00:04 [56,8k/s] [ <=> ]
278044
Ici, il est indiqué qu'il a fallu 4 secondes pour compter 278 000 fichiers. Le nombre exact à la fin ( 278044) est la sortie de wc -l.
Si vous ne voulez pas attendre le décompte, vous pouvez deviner le nombre de fichiers ou utiliser pvsans estimation:
$ rm -rv dirname | pv -l > logfile
De cette façon, vous n'aurez aucune estimation à terminer, mais au moins vous verrez combien de fichiers sont déjà supprimés. Rediriger vers /dev/nullsi vous n'avez pas besoin du fichier journal.
Nitpick:
- avez-vous vraiment besoin
sudo?
rm -rest généralement suffisant pour supprimer récursivement. pas besoin de rm -f.