Использование Redhat, если это имеет значение.
Есть ли ограничение по умолчанию? Можно ли это изменить? Если нет, есть ли обходные пути для увеличения количества папок, разрешенных в каталоге?
Это зависит от того, какую файловую систему использует ваш дистрибутив. Если вы используете более новый дистрибутив рабочего стола (например, Ubuntu 9.10, последняя версия Fedora), вы, вероятно, используете ext4. Если вы используете что-то более старое, скорее всего это ext3.
В ext2 - 32 768 согласно Википедии - http://en.wikipedia.org/wiki/Ext2fs#File_system_limits . Зависит от того, какую файловую систему вы используете.
Вы можете рассмотреть альтернативы тому, что вы пытаетесь сделать. Даже если вы не превысите ограничение файловой системы (например, 32 КБ для ext2), хранение десятков тысяч файлов в одном каталоге может быть по меньшей мере громоздким.
Возможно, вы пытаетесь использовать файловую систему для чего-то более подходящего для базы данных. Рассмотрите возможность хранения ваших данных в PostgreSQL, MySQL или даже в базе данных sqlite. Существует не так много файловых систем, которые хорошо справляются с огромным количеством файлов - перемещение или резервное копирование ваших данных будет медленным.
Если вам действительно нужно хранить много файлов, рассмотрите альтернативные структуры каталогов. Например, вы можете разделить файлы по алфавиту, например:
Этот подход может масштабироваться за счет увеличения глубины вашего разделения, например:
Или, если вы вводите ежедневные файлы журнала или получаете ежедневные поставки, вы можете разделить их по дате, например:
В этом конкретном случае вам, вероятно, также понадобится создать задание для упаковки старых журналов в сжатые архивы, чтобы уменьшить количество файлов.
источник
Ограничения папок - это то, почему корпоративные системы, которые имеют дело с произвольным числом файлов, будут хранить в одной или двух подкаталогах на основе хэша имени файла. Например, md5 () имя файла и использование первых четырех байтов в качестве подпапки для сохранения файла; для дополнительных уровней используйте следующие 4 для дополнительной подпапки или следующие 4 после этого и т. д. Большинство систем никогда не превысят 2 уровня.
источник