Używanie Redhat, jeśli to robi różnicę.
Czy istnieje domyślny limit? Czy można to zmienić? Jeśli nie, czy istnieją jakieś obejścia, które mogą zwiększyć liczbę folderów dozwolonych w katalogu?
To zależy od systemu plików używanego przez twoją dystrybucję. Jeśli używasz nowszej dystrybucji pulpitu (tj. Ubuntu 9.10, najnowsza wersja Fedory), prawdopodobnie używasz ext4. Jeśli używasz czegoś starszego, najprawdopodobniej jest to ext3.
W ext2, 32 768 według Wikipedii - http://en.wikipedia.org/wiki/Ext2fs#File_system_limits . Zależy od używanego systemu plików.
Możesz rozważyć alternatywę dla tego, co próbujesz zrobić. Nawet jeśli pozostaniesz poniżej limitu systemu plików (np. 32k dla ext2), przechowywanie dziesiątek tysięcy plików w jednym katalogu może być co najmniej kłopotliwe.
Jedną z możliwości jest to, że próbujesz użyć systemu plików do czegoś, co byłoby bardziej odpowiednie dla bazy danych. Rozważ przechowywanie danych w bazie danych PostgreSQL, MySQL, a nawet w bazie danych sqlite. Nie ma zbyt wielu systemów plików, które dobrze poradziłyby sobie z ogromną liczbą plików - przenoszenie lub tworzenie kopii zapasowych danych będzie powolne.
Jeśli naprawdę potrzebujesz przechowywać wiele plików, rozważ alternatywne struktury katalogów. Na przykład możesz być w stanie rozdzielić pliki alfabetycznie, np .:
To podejście można skalować, zwiększając głębokość separacji, np .:
Lub jeśli wprowadzasz dzienniki lub otrzymujesz codzienne dostawy, możesz je rozdzielić według daty, np .:
W tym konkretnym przypadku prawdopodobnie chciałbyś również cron zadania, aby spakować stare dzienniki do spakowanych plików tar, aby zmniejszyć liczbę plików.
źródło
Limity folderów powodują, że systemy korporacyjne, które mają do czynienia z dowolną liczbą plików, będą przechowywane w jednym lub dwóch podkatalogach na podstawie skrótu nazwy pliku. Na przykład md5 () nazwa pliku i użyj pierwszych czterech bajtów jako podfolderu do przechowywania pliku; dla dodatkowych poziomów użyj następnych 4 dla dodatkowego podfolderu, lub kolejnych 4 potem itd. Większość systemów nigdy nie przekroczy głębokości 2 poziomów.
źródło