Недавно столкнулась с проблемой, нужно было удалить много файлов, несколько десятков тысяч.

Привычная и любимая команда rm -rf не помогла, выдав ошибку: Argument list too long

Вспомнила еще про несколько вариантов удаления:

find /каталог/* | xargs rm и ls /каталог/* | xargs rm

Но и эти варианты выдали ту же ошибку: Argument list too long.

Как оказалось решение весьма простое:

for i in /каталог/*; do rm -f $i; done

В переменную i в цикле попадают имена файлов из директории и тут же удаляем выбранный файл.