Existe um limite rígido para o número de arquivos que um diretório pode ter? [duplicado]

15

Imaginando se há um limite para o número de arquivos que podem ser armazenados dentro de um diretório, no CentOS 6. Existe um diretório em particular que poderia ter milhões de subdiretórios.

Capacidade de armazenamento à parte, existe um limite para o número de arquivos que podem estar contidos em um diretório? (Eu assumo aqui que "arquivo" pode significar um arquivo ou um diretório).

Muito obrigado!

    
por Juan Carlos Coto 09.05.2013 / 19:56

3 respostas

23

Depende do seu sistema de arquivos. Eu vou assumir que é ext4:

O número máximo de arquivos é global, não por diretório, e é determinado pelo número de inodes alocados quando o sistema de arquivos foi criado. Tente executar o seguinte comando para ver o número de inodes por sistema de arquivos.

    $ df -i
    Filesystem       Inodes  IUsed    IFree IUse% Mounted on
    /dev/sdb2       7864320 388119  7476201    5% /

O número máximo de subdiretórios parece ser de 64000, de acordo com aqui ( link ), mas veja também ( link ) - sugere que é ilimitado.

    
por 09.05.2013 / 20:14
11

Depende do sistema de arquivos. ext3 suppport ~ 32000 subdiretórios (não arquivos!) em um determinado diretório, com ext4 é 64000 por padrão. xfs não tem limite ao meu conhecimento.

    
por 09.05.2013 / 20:10
6

Gostaria de adicionar às respostas já corretas que você deve considerar não colocar muitos arquivos em um único diretório. A maioria dos softwares não lida bem com isso (por exemplo, mc será lento, muitas ferramentas de gui serão inutilizáveis). É melhor criar uma hierarquia de pastas aninhadas e distribuir os arquivos nelas usando algum algoritmo (hash do nome do arquivo ou conteúdo ou qualquer outro método que distribuirá os arquivos igualmente). É o que muitos programas maduros (por exemplo, o squid) fazem.

    
por 09.05.2013 / 21:46