Назад | Перейти на главную страницу

Есть ли жесткое ограничение на количество файлов в каталоге?

Интересно, есть ли ограничение на количество файлов, которые могут храниться внутри каталога, в CentOS 6. Существует один конкретный каталог, который потенциально может иметь миллионы подкаталогов.

Помимо емкости хранилища, есть ли ограничение на количество файлов, которые могут содержаться в каталоге? (Я предполагаю, что здесь «файл» может означать либо файл, либо каталог).

Огромное спасибо!

Это зависит от вашей файловой системы. Я предполагаю, что это ext4:

Максимальное количество файлов является глобальным, а не одним каталогом, и определяется количеством inode, выделенных при создании файловой системы. Попробуйте выполнить следующую команду, чтобы увидеть количество inodes на файловую систему.

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

Максимальное количество подкаталогов составляет 64000 согласно здесь (http://en.wikipedia.org/wiki/Ext4), но см. также (http://kernelnewbies.org/Ext4) - предполагает, что он неограничен.

Это зависит от файловой системы. ext3 поддерживать ~ 32000 подкаталогов (не файлов!) в данном каталоге, с ext4 по умолчанию его 64000. xfs нет предела моим знаниям.

Я хотел бы добавить к уже правильным ответам, что вам следует подумать о том, чтобы не помещать слишком много файлов в один каталог. Большинство программ не справляются с этим (например, mc будет работать медленно, многие инструменты графического интерфейса будут непригодны для использования). Лучше создать иерархию вложенных папок и распределить файлы в них, используя какой-либо алгоритм (хеш имени файла или содержимого или любой другой метод, который будет равномерно распределять файлы). Это то, что делают многие зрелые программы (например, squid).