En términos de eficiencia, el uso de un rm por archivo no es óptimo, ya que requiere una bifurcación y un exec para cada rm.
Suponiendo que tiene una lista.txt que contiene los archivos que desea eliminar, esto sería más eficiente, pero aún así será lento:
xargs -i rm {} < list.txt
Otro enfoque sería:
nice -20 xargs -i rm {} < list.txt
(esto tomará menos tiempo pero afectará mucho a su sistema :)
o
No sé qué tan rápido sería, pero:
mv <file-name> /dev/null
o
Cree un punto de montaje especial con un sistema de archivos rápido (¿utilizando un dispositivo de bucle?), Úselo para almacenar y eliminar sus archivos enormes.
(tal vez mueva los archivos allí antes de eliminarlos, tal vez sea más rápido o tal vez simplemente desmóntelo cuando desee que se vayan los archivos)
o
cat /dev/null > /file/to/be/deleted
(así que ahora es de tamaño cero) y si quieres que desaparezca justo rm -rf <file>
ahora
o incluso mejor
suelta al gato y solo hazlo # > /file/to/be/emptied