Я пытаюсь очистить каталог, содержащий много данных (более 1 ТБ), со многими файлами, жестко связанными для экономии места. Для некоторого контекста, это диск, где мы храним наши сборки, и у нас много медиа (несколько ГБ) в каждой сборке, поэтому мы жестко связываем файл, если он идентичен предыдущему продукту сборки. Я заметил, что попытка удалить эти каталоги необычайно медленная (~5 элементов в секунду).
Я предполагаю, что удаление занимает так много времени из-за большого количества жестких ссылок на каждый файл. Можно ли что-то сделать, чтобы ускорить этот процесс, или я застрял, удаляя несколько миллионов элементов со скоростью 5/сек?
решение1
find . -inum [inode-number] -exec rm -i {} \;
Эта команда найдет номер инода, который затем можно удалить, что освободит указанные данные.
Я предоставил интерактивный флаг, чтобы вы могли его протестировать.
О, чтобы получить номер инода, вы можете сделать ls -il
это, что вернет имя и номер инода вместе.
Если бы можно было удалить файл напрямую по индексному дескриптору, это было бы улучшением, но я не знаю, как это сделать.