4

Я использую каталог команды rm -rf, но натолкнулся на следующую статью: Статья Что говорит о том, что rsynch для пустой папки - это самый быстрый способ? rsync -a - удалить пустое / a Почему это так? Есть ли еще один более быстрый способ удалить не пустую папку?

Еще одна интересная статья об этой статье2

2 ответа2

3

Основанный на очень быстром взгляде на исходные коды GNU Coreutils 8.21 и rsync 3.0.1, а также на то, что они делают со strace, rm из GNU Coreutils, кажется, вызывает malloc() немного больше, чем rsync при выполнении той же самой вещи. , Я сомневаюсь, что это полностью объясняет разницу в скорости, но, скорее всего, это часть объяснения.

2

Я обнаружил, что самое быстрое и наиболее эффективное решение для памяти - использовать эту команду в каталоге, заполненном миллионами файлов:

ls -f1 | xargs rm

объяснение

Поскольку ls -f1 не будет сортировать содержимое каталога, он сразу начнет вывод. Команда rm будет принимать только один аргумент: фактическое имя файла, полученное из первой команды. Это было единственное решение для удаления 3.000.000 файлов из каталога сеанса интернет-магазина Magento. Сервер работал на виртуальной машине с оперативной памятью всего 2 ГБ - другой возможности удалить файлы не было.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .