J'ai un répertoire de 30 To contenant des milliards de fichiers qui sont formellement tous des fichiers JPEG. Je supprime chaque dossier de fichiers comme ceci :
sudo rm -rf bolands-mills-mhcptz
Cette commande s'exécute simplement et n'affiche rien, qu'elle fonctionne ou non.
Je veux voir comment il supprime des fichiers ou quel est l'état actuel de la commande.
Réponse acceptée :
Vous pouvez utiliser rm -v avoir rm imprimer une ligne par fichier supprimé. De cette façon, vous pouvez voir que rm travaille en effet pour supprimer des fichiers. Mais si vous avez des milliards de fichiers, tout ce que vous verrez, c'est que 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 des progrès.
http://www.ivarch.com/programs/pv.shtml
Voici comment invoquer rm avec pv avec 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 a 1000 des dossiers. La sortie de pv montre que 562 sont déjà supprimés, le temps écoulé est de 7 secondes et l'estimation pour terminer est de 5 secondes.
Quelques explications :
pv -lfaitpvcompter par nouvelle ligne au lieu d'octetspv -s numberindiquepvquel est 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 depvse confond avec la sortie derm -v. Bonus :vous aurez un fichier journal de ce qui a été supprimé. Mais attention, le fichier va devenir é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 également prendre beaucoup de temps s'il y a des milliards de fichiers. Vous pouvez utiliser pv ici aussi pour voir combien ça a compté
$ find dirname | pv -l | wc -l
278k 0:00:04 [56,8k/s] [ <=> ]
278044
Ici, il est dit qu'il a fallu 4 secondes pour compter 278 000 fichiers. Le décompte exact à la fin (278044 ) est la sortie de wc -l .
Si vous ne voulez pas attendre le décompte, vous pouvez soit deviner le nombre de fichiers, soit utiliser pv sans estimation :
$ rm -rv dirname | pv -l > logfile
Comme ça vous n'aurez aucune estimation pour finir 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.
Pique-nique :
- avez-vous vraiment besoin de
sudo? - habituellement
rm -rsuffit de supprimer récursivement. pas besoin derm -f.