rm -rf mydir
болезненно медленно для дерева каталогов со 100000 файлами (в подкаталогах) в файловой системе reiserfs.
есть идеи по более быстрому удалению деревьев каталогов (даже с риском редкого повреждения) ?
rm -rf mydir
болезненно медленно для дерева каталогов со 100000 файлами (в подкаталогах) в файловой системе reiserfs.
есть идеи по более быстрому удалению деревьев каталогов (даже с риском редкого повреждения) ?
единственное решение, которое я могу придумать, - это иметь все ваши файлы в отдельной файловой системе. Файловая система может находиться в разделе диска или в файле.
вместо удаления файлов вы можете стереть раздел или удалить файл.
Я могу посочувствовать вам, потому что у меня есть проект с > 200 000 файлов на NTFS и удаление дерева действительно боль. Если бы я мог, я бы
это почти всегда плохая идея иметь миллион файлов в каталоге. Но со мной такое постоянно случается. Старые файловые системы стали непригодными, так как delete было O (n) в количестве файлов. Я не думаю, что какие-либо текущие файловые системы Linux плохи таким образом. (Не положительно о ReiserFS, но я был бы удивлен, если бы это было). Но даже с хорошей файловой системой инструменты оболочки выполняют слишком много работы при удалении файлов. Они заявляют файлы, явно тестируют разрешения, создают большие командные строки, п.
один обходной путь состоит в том, чтобы сделать очень низкоуровневое удаление, просто вызывая системный вызов unlink (). Вот какой-то быстрый и грязный Python, который позволил мне удалить миллион файлов, когда rm меня подвел:
files = os.listdir('.')
for f in files:
try: os.unlink(f)
except Exception, e: print e
XFS удаляет намного быстрее. доб{2,3,4} хуже, я не знаю, где она находится между ними.
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]