web-dev-qa-db-fra.com

Y a-t-il une limite stricte au nombre de fichiers qu'un répertoire peut avoir?

Vous vous demandez s'il y a une limite au nombre de fichiers pouvant être stockés dans un répertoire, dans CentOS 6. Il existe un répertoire particulier qui pourrait potentiellement avoir des millions de sous-répertoires.

Mis à part la capacité de stockage, y a-t-il une limite au nombre de fichiers pouvant être contenus dans un répertoire? (Je suppose ici que "fichier" peut signifier soit un fichier soit un répertoire).

Merci beaucoup!

15

Cela dépend de votre système de fichiers. Je vais supposer que c'est ext4:

Le nombre maximal de fichiers est global, pas par répertoire, et il est déterminé par le nombre d'inodes alloués lors de la création du système de fichiers. Essayez d'exécuter la commande suivante pour voir le nombre d'inodes par système de fichiers.

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

Le nombre maximum de sous-répertoires semble être 64000 selon ici ( http://en.wikipedia.org/wiki/Ext4 ), mais voir aussi ( http://kernelnewbies.org/Ext4 ) - suggère qu'il est illimité.

24
wangj

Cela dépend du système de fichiers. ext3 suppport ~ 32000 sous-répertoires (pas des fichiers!) dans un répertoire donné, avec ext4 c'est 64000 par défaut. xfs n'a aucune limite à ma connaissance.

12
Sven

Je voudrais ajouter aux réponses déjà correctes que vous devriez envisager de ne pas mettre trop de fichiers dans un seul répertoire. La plupart des logiciels ne fonctionnent pas aussi bien (par exemple, mc sera lent, de nombreux outils graphiques seront inutilisables). Il est préférable de créer une hiérarchie de dossiers imbriqués et de distribuer les fichiers qu'ils contiennent en utilisant un algorithme (hachage du nom ou du contenu du fichier ou toute autre méthode qui distribuera les fichiers également). C'est ce que font de nombreux programmes matures (par exemple le calmar).

6
skarap