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 удаляет намного быстрее. ext {2,3,4} худшие, я не знаю, где между ними находится reiserfs.