Для целей этого вопроса «большой каталог» означает, например, git-репозиторий ядра Linux или источник Chromium.
Если я получу rm -rf
такой большой каталог из оболочки, он будет удален максимум за пару секунд.
Если я сначала перенесу его в корзину, а затем опустошу, первая операция занимает менее секунды, а затем фактическое удаление занимает несколько минут (мы говорим о двузначных числах).
Почему уборка мусора происходит так медленно? Что он делает, когда говорит «готовится». Сколько подготовки на самом деле нужно для запуска rm -rf ~/.local/share/Trash/
?
libnautilus-private/nautilus-file-operations.c
в источнике (apt-get source nautilus
). У меня нет усердия и терпения для чтения C. Хотя интересный вопрос. +1rm -rf ~/.local/share/Trash
может быть быстрее См. Askubuntu.com/a/468722/2273Ответы:
Когда происходит первая операция, она просто перемещает файлы в корзину.
Когда вы «удаляете» эти файлы, он загружает весь файл дерева в память, а затем удаляет каждый файл по одному. Это позволяет рассчитать время, чтобы узнать, сколько времени требуется для удаления файла, сколько файлов нужно удалить, насколько они велики, хотя большинство параметров здесь не используются, и позволяет нажать на маленький красный крестик, чтобы остановить процесс.
Вот почему я всегда удаляю из оболочки
источник