Qual é o número máximo de pastas permitidas em uma pasta no Linux?

16

Usando o Redhat, se isso faz diferença.

Existe um limite padrão? Pode ser mudado? Se não, existem soluções alternativas para aumentar o número de pastas permitidas em um diretório?

    
por chris 05.11.2009 / 20:35

4 respostas

21

Depende de qual sistema de arquivos sua distribuição usa. Se você usa uma nova distribuição de desktop (isto é, o Ubuntu 9.10, uma versão recente do Fedora), você provavelmente usa o ext4. Se você usar algo mais antigo, é mais provável ext3.

por 05.11.2009 / 22:25
11

No ext2, 32.768 de acordo com a Wikipedia - link . Depende de qual sistema de arquivos você usa.

    
por 05.11.2009 / 20:37
4

Você pode querer considerar alternativas para o que você está tentando fazer. Mesmo que você permaneça abaixo do limite do sistema de arquivos (por exemplo, 32k para o ext2), armazenar dezenas de milhares de arquivos em um único diretório pode ser complicado, para dizer o mínimo.

Uma possibilidade é que você está tentando usar o sistema de arquivos para algo que seria mais adequado para um banco de dados. Considere armazenar seus dados em um banco de dados PostgreSQL, MySQL ou até mesmo em sqlite. Não há muitos sistemas de arquivos que lidam bem com um grande número de arquivos - mover ou fazer backup de seus dados será lento.

Se você realmente precisa armazenar muitos arquivos, considere estruturas de diretório alternativas. Por exemplo, você pode separar seus arquivos em ordem alfabética, por exemplo:

a/aaron.dat
a/alex.dat
a/alan.dat
b/bill.dat
b/brian.dat

Esta abordagem pode ser dimensionada aumentando a profundidade de sua separação, por exemplo:

a/a/aaron.dat
a/l/alex.dat
a/l/alan.dat

Ou se você estiver inserindo arquivos de registro diários ou receber entregas diárias, poderá separá-los por data, por exemplo:

2009-10-04/logfile-01.txt
2009-10-05/logfile-01.txt
2009-10-05/logfile-02.txt

Nesse caso em particular, você provavelmente também deseja cron uma tarefa para empacotar logs antigos em tarballs compactados para reduzir a contagem de arquivos.

    
por 05.11.2009 / 22:08
1

Os limites de pasta são os motivos pelos quais os sistemas corporativos que precisam lidar com um número arbitrário de arquivos armazenam em um ou dois subdiretórios com base em um hash do nome do arquivo. Por exemplo, md5 () o nome do arquivo e use os primeiros quatro bytes como uma subpasta para armazenar o arquivo; para níveis adicionais, use os próximos 4 para uma subpasta adicional, ou os próximos 4 depois disso, etc. A maioria dos sistemas nunca excederá 2 níveis de profundidade.

    
por 05.11.2009 / 20:52

Tags