Puede utilizar rm -vpara rmimprimir una línea por archivo eliminado. De esta manera, puede ver que rmefectivamente está trabajando para eliminar archivos. Pero si tiene miles de millones de archivos, todo lo que verá es que rmtodavía funciona. No tendrá idea de cuántos archivos ya se eliminaron y cuántos quedan.
La herramienta pvpuede ayudarlo con una estimación del progreso.
http://www.ivarch.com/programs/pv.shtml
Así es como invocaría rmcon pvsalida de ejemplo
$ rm -rv dirname | pv -l -s 1000 > logfile
562 0:00:07 [79,8 /s] [====================> ] 56% ETA 0:00:05
En este ejemplo artificial dije pvque hay 1000archivos. La salida de pvmuestra que 562 ya están eliminados, el tiempo transcurrido es de 7 segundos y la estimación para completar es de 5 segundos.
Alguna explicación:
pv -lhace pvcontar por nuevas líneas en lugar de bytes
pv -s numberle dice pvcuál es el total para que pueda darle una estimación.
- La redirección al
logfilefinal es para una salida limpia. De lo contrario, la línea de estado de pvse mezcla con la salida de rm -v. Bonificación: tendrá un archivo de registro de lo que se eliminó. Pero cuidado, el archivo se volverá enorme. También puede redirigir a /dev/nullsi no necesita un registro.
Para obtener el número de archivos puede usar este comando:
$ find dirname | wc -l
Esto también puede llevar mucho tiempo si hay miles de millones de archivos. También puede usar pvaquí para ver cuánto ha contado
$ find dirname | pv -l | wc -l
278k 0:00:04 [56,8k/s] [ <=> ]
278044
Aquí dice que tardó 4 segundos en contar 278k archivos. El recuento exacto al final ( 278044) es la salida de wc -l.
Si no desea esperar el recuento, puede adivinar el número de archivos o usarlo pvsin estimación:
$ rm -rv dirname | pv -l > logfile
De esta manera, no tendrá una estimación para terminar, pero al menos verá cuántos archivos ya están eliminados. Redireccionar a /dev/nullsi no necesita el archivo de registro.
Nitpick:
- lo que realmente necesita
sudo?
- generalmente
rm -res suficiente para eliminar de forma recursiva. No hay necesidad de rm -f.