Por fim, não importa o que você faça, rm
precisa executar unlink
em cada arquivo que você deseja remover (mesmo se você chamar rm -r
no diretório pai). Se houver muitos arquivos para remover, isso pode levar muito tempo.
Existem dois processos particularmente demorados quando você executa rm -r
:
-
readdir
, seguido por - um número de chamadas para
unlink
.
Encontrar todos os arquivos e passar por todos os arquivos para removê-los pode levar muito, muito tempo.
Se você achar isso inutilizável porque torna o diretório inutilizável por algum tempo, considere mover o diretório pai antes de removê-lo. Isso liberará esse nome para o programa usar novamente, sem que o tempo seja muito inconveniente.
Assumindo que o sistema de arquivos realmente é NTFS (não está claro a partir de sua pergunta), o NTFS é geralmente muito lento na exclusão de grandes faixas de arquivos. Você pode considerar o uso de um sistema de arquivos mais adequado para seus propósitos (os sistemas de arquivos ext mais recentes têm um desempenho de exclusão muito bom, se você não tiver outras necessidades específicas). O FUSE em si também não é particularmente rápido, em geral. Você pode considerar ver se pode fazer isso de alguma forma que não use o FUSE.