У нас есть проблема с папкой, которая становится громоздкой с сотнями тысяч крошечных файлов.
Есть так много файлов, что выполнение rm -rf
возвращает ошибку, и вместо этого нам нужно сделать что-то вроде:
find /path/to/folder -name "filenamestart*" -type f -exec rm -f {} \;
Это работает, но очень медленно и постоянно не хватает памяти.
Есть лучший способ сделать это? В идеале я хотел бы удалить весь каталог, не заботясь о содержимом внутри него.
rm -rf
?
fsck
на ней, чтобы освободить неиспользуемые блоки диска, но такой подход кажется рискованным и, возможно, не будет быстрее. Кроме того, проверка файловой системы может в любом случае включать рекурсивный обход дерева файловой системы.
ccache
такое огромное файловое дерево, и оно rm
заняло так много времени (и замедлило всю систему), стало намного быстрее копировать все другие файлы из файловой системы, форматировать и копировать их обратно. С тех пор я даю таким огромным небольшим файловым деревьям их собственную выделенную файловую систему, так что вы можете mkfs
напрямую вместо rm
.
rm -rf *
в папке, вероятно, происходит сбой из-за слишком большого количества аргументов; но чтоrm -rf folder/
если вы все равно хотите удалить весь каталог?