С точки зрения эффективности, использование одного rm на файл не является оптимальным, поскольку для каждого rm требуются форк и exec.
Предполагая, что у вас есть list.txt, содержащий файлы, которые вы хотите удалить, это будет более эффективно, но все равно будет медленно:
xargs -i rm {} < list.txt
Другой подход заключается в следующем:
nice -20 xargs -i rm {} < list.txt
(это займет меньше времени, но сильно повлияет на вашу систему :)
или
Я не знаю, как быстро это будет, но:
mv <file-name> /dev/null
или
Создайте специальную точку монтирования с быстрой файловой системой (используя устройство петли?), Используйте ее для хранения и удаления ваших огромных файлов.
(возможно, переместите файлы туда, прежде чем удалить их, возможно, это быстрее или, может быть, просто размонтируйте их, когда вы хотите, чтобы файлы исчезли)
или
cat /dev/null > /file/to/be/deleted
(так что теперь он нулевого размера), и если вы хотите, чтобы он исчез прямо rm -rf <file>
сейчас
или даже лучше
брось кота и просто сделай # > /file/to/be/emptied