Qual é o número máximo de arquivos que uma pasta Unix pode conter?
Eu acho que será o mesmo que o número de arquivos.
linux
unix
filesystems
Peter Mortensen
fonte
fonte
Respostas:
Varia de acordo com o sistema de arquivos, http://en.wikipedia.org/wiki/Comparison_of_file_systems
fonte
Em todos os sistemas de arquivos Unix atuais, um diretório pode conter um número praticamente ilimitado de arquivos. Enquanto "ilimitado" é limitado por espaço em disco e inodes - o que ocorrer primeiro.
Nos projetos mais antigos de sistemas de arquivos ( ext2 , UFS , HFS + ), as coisas tendem a ficar lentas se você tiver muitos arquivos em um diretório. Geralmente, as coisas começam a ficar dolorosas em torno de 10.000 arquivos. Com sistemas de arquivos mais recentes ( ReiserFS , XFS , ZFS , UFS2 ), você pode ter milhões de arquivos em um diretório sem ver gargalos de desempenho geral.
Mas ter tantos arquivos em um diretório não é bem testado e há muitas ferramentas que não são bem assim. Por exemplo, scripts de manutenção periódica do sistema podem vomitá-lo.
Felizmente, usei um diretório com vários milhões de arquivos no UFS2 e não havia problemas até querer excluir o diretório - isso levou vários dias.
fonte
Depende de quantos inodes o sistema de arquivos foi criado. Executando
lhe dará o número de inodes livres. Esse é o limite prático de quantos arquivos um sistema de arquivos e, portanto, um diretório podem conter.
fonte
Presumo que você esteja pensando em armazenar muitos arquivos em um só lugar, não?
A maioria dos sistemas de arquivos Unix modernos pode colocar muitos arquivos em um diretório, mas operações como seguir caminhos, listar arquivos etc. envolvem uma pesquisa linear na lista de arquivos e ficam lentas se a lista crescer muito.
Lembro-me de ouvir que alguns milhares são demais para os usos mais práticos. A solução típica é dividir o agrupamento. Isso é,
e armazene seus arquivos no subdiretório apropriado de acordo com um hash deles
basename
. Escolha um hash conveniente, o primeiro caractere pode ser usado para casos simples.Cristian Ciupitu escreve nos comentários que o XFS e, possivelmente, outros sistemas de arquivos muito novos, usam
log(N)
estruturas pesquisáveis para manter o conteúdo do diretório, portanto essa restrição é bastante melhorada .fonte
ext3
um dos formatos mais comuns de sistema de arquivos linux fica muito lento se você tiver cerca de 20k + de arquivo em um diretório. Independentemente de quantos podem conter, você deve evitar ter tantos arquivos em um diretório.fonte
Pelo comentário que você deixou, acho que você realmente não se importa com quantos arquivos / pastas seu FS pode hospedar.
Você provavelmente deve considerar usar o ModRewrite e reescrever site.com/username para site.com/?user= ou algo do tipo e armazenar todos os seus dados em um banco de dados. Criar uma pasta por usuário geralmente não é necessário (e não é uma boa ideia).
Dito isto, cada sistema de arquivos tem limites e
df
pode dizer quantos inodes estão disponíveis em cada partição do seu sistema.fonte