Odpowiedzi:
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 .:
a/aaron.dat
a/alex.dat
a/alan.dat
b/bill.dat
b/brian.dat
To podejście można skalować, zwiększając głębokość separacji, np .:
a/a/aaron.dat
a/l/alex.dat
a/l/alan.dat
Lub jeśli wprowadzasz dzienniki lub otrzymujesz codzienne dostawy, możesz je rozdzielić według daty, np .:
2009-10-04/logfile-01.txt
2009-10-05/logfile-01.txt
2009-10-05/logfile-02.txt
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.
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.