Удаление всего дерева - дорогостоящая операция, но могут быть способы ускорить его.
Вы пробовали решение, указанное в этом ответе и в этом ответе ? rsync
кажется самым быстрым, поскольку она оптимизирует операции удаления вместо того, чтобы просто идти по списку файлов, как rm
, find
... делаем.
Кроме того, вы пробовали эту альтернативу?
РЕДАКТИРОВАТЬ:
Обратите внимание: я не тестировал эти команды.
Команды, на которые я ссылаюсь в случае разрыва ссылок в будущем:
rsync
Команда первых двух ссылок:
mkdir blank rsync -a --delete blank/ test/
Третья ссылка: «Переместить их в скрытый каталог, а затем удалить его в фоновом режиме»:
mkdir ../.tmp_to_remove mv -- * ../.tmp_to_remove nohup rm -rf ../.tmp_to_remove &
Как объясняется в этом ответе, этот подход предполагает, что (даже если удаление очень дорогое), поскольку удаление происходит в фоновом режиме в другом дереве, пользователь может не заботиться о фактической стоимости. На мой взгляд, это так до тех пор, пока вы не попытаетесь закрыть сеанс bash / ssh до того, как произойдет операция удаления. Чтобы это исправить, я добавил nohup
в rm
команду.