быстрое удаление дерева каталогов Linux

rm -rf mydir

болезненно медленно для дерева каталогов со 100000 файлами (в подкаталогах) в файловой системе reiserfs.

есть идеи по более быстрому удалению деревьев каталогов (даже с риском редкого повреждения) ?

22
задан gimel
07.02.2023 8:28 Количество просмотров материала 2583
Распечатать страницу

3 ответа

единственное решение, которое я могу придумать, - это иметь все ваши файлы в отдельной файловой системе. Файловая система может находиться в разделе диска или в файле.

вместо удаления файлов вы можете стереть раздел или удалить файл.

Я могу посочувствовать вам, потому что у меня есть проект с > 200 000 файлов на NTFS и удаление дерева действительно боль. Если бы я мог, я бы

  • использовать другую файловую систему (reiserfs, в вашем случае, довольно хороша с большим количеством файлов в любом случае IIRC)
  • избегайте большого количества файлов (например, используйте базу данных)
4
отвечен Ludwig Weinzierl 2023-02-08 16:16

это почти всегда плохая идея иметь миллион файлов в каталоге. Но со мной такое постоянно случается. Старые файловые системы стали непригодными, так как delete было O (n) в количестве файлов. Я не думаю, что какие-либо текущие файловые системы Linux плохи таким образом. (Не положительно о ReiserFS, но я был бы удивлен, если бы это было). Но даже с хорошей файловой системой инструменты оболочки выполняют слишком много работы при удалении файлов. Они заявляют файлы, явно тестируют разрешения, создают большие командные строки, п.

один обходной путь состоит в том, чтобы сделать очень низкоуровневое удаление, просто вызывая системный вызов unlink (). Вот какой-то быстрый и грязный Python, который позволил мне удалить миллион файлов, когда rm меня подвел:

files = os.listdir('.')
for f in files:
  try: os.unlink(f)
  except Exception, e: print e
2
отвечен Nelson 2023-02-08 18:33

XFS удаляет намного быстрее. доб{2,3,4} хуже, я не знаю, где она находится между ними.

1
отвечен Bill Weiss 2023-02-08 20:50

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх