Vous pouvez utiliser rm -v
pour rm
supprimer une ligne par fichier. De cette façon, vous pouvez voir que cela rm
fonctionne effectivement pour supprimer des fichiers. Mais si vous avez des milliards de fichiers, tout ce que vous verrez est que cela rm
fonctionne toujours. Vous n'aurez aucune idée du nombre de fichiers déjà supprimés et du nombre restant.
L'outil pv
peut vous aider avec une estimation de progrès.
http://www.ivarch.com/programs/pv.shtml
Voici comment invoquer rm
avec pv
un 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 pv
qu'il y avait des 1000
fichiers. La sortie de pv
montre 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 -l
fait pv
compter par des nouvelles lignes au lieu d'octets
pv -s number
indique pv
le 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 pv
est 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/null
si 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 pv
ici 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 pv
sans 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/null
si vous n'avez pas besoin du fichier journal.
Nitpick:
- avez-vous vraiment besoin
sudo
?
rm -r
est généralement suffisant pour supprimer récursivement. pas besoin de rm -f
.