एक Unix फोल्डर में कितनी फाइलें हो सकती हैं?
मुझे लगता है कि यह फाइलों की संख्या के समान ही होगा।
एक Unix फोल्डर में कितनी फाइलें हो सकती हैं?
मुझे लगता है कि यह फाइलों की संख्या के समान ही होगा।
जवाबों:
प्रति फ़ाइल सिस्टम बदलता है, http://en.wikipedia.org/wiki/Comparison_of_file_systems
सभी मौजूदा यूनिक्स फाइलसिस्टम पर एक निर्देशिका एक व्यावहारिक रूप से असीमित संख्या में फाइलों को पकड़ सकती है । जबकि "असीमित" डिस्कस्पेस और इनोड्स द्वारा सीमित है - जो भी पहले बाहर चलाता है।
पुराने फ़ाइल सिस्टम डिज़ाइन ( ext2 , UFS , HFS + ) के साथ चीजें धीमी हो जाती हैं यदि आपके पास एक निर्देशिका में कई फाइलें हैं। आमतौर पर चीजें 10,000 फाइलों के आसपास दर्दनाक होने लगती हैं। नए फाइलसिस्टम ( ReiserFS , XFS , ZFS , UFS2 ) के साथ आप सामान्य प्रदर्शन की बाधाओं को देखे बिना एक निर्देशिका में लाखों फाइलें रख सकते हैं।
लेकिन एक डायरेक्टरी में इतनी सारी फाइल्स होना अच्छी तरह से परखा नहीं गया है और बहुत सारे टूल्स हैं जो असफल हो जाते हैं। उदाहरण के लिए, आवधिक प्रणाली रखरखाव स्क्रिप्ट इस पर रोक लगा सकती है।
मैंने UFS2 पर कई मिलियन फाइलों के साथ एक निर्देशिका का खुशी-खुशी इस्तेमाल किया और जब तक मैं निर्देशिका को हटाना नहीं चाहता था, तब तक कोई समस्या नहीं देखी - जो कई बार लिया।
यह निर्भर करता है कि कितने inodes फाइल सिस्टम के साथ बनाया गया था। निष्पादित
df -i
आपको मुफ्त इनोड की संख्या देगा। यह एक फाइलसिस्टम कितनी फाइलों की एक व्यावहारिक सीमा है और इसलिए एक निर्देशिका पकड़ सकता है।
मुझे लगता है कि आप एक ही स्थान पर बहुत सारी फाइलें संग्रहीत करने की सोच रहे हैं, नहीं?
अधिकांश आधुनिक यूनिक्स फाइल सिस्टम एक निर्देशिका में बहुत सारी फाइलें रख सकते हैं , लेकिन निम्नलिखित पथ जैसे कार्य, फाइलों को सूचीबद्ध करना, फाइलों की सूची के माध्यम से एक रैखिक खोज को शामिल करना और यदि सूची बहुत बड़ी हो जाती है तो धीमी गति से चलना।
मुझे यह याद करते हुए याद आता है कि अधिकांश व्यावहारिक उपयोगों के लिए हज़ार का एक जोड़ा बहुत अधिक है। आम तौर पर समाधान समूहीकरण को तोड़ने के लिए है। अर्थात्,
/some/path/to/dir/a/
/some/path/to/dir/b/
...
/some/path/to/dir/z/
और अपनी फाइलों को उनकी हैश के अनुसार उपयुक्त उप-निर्देशिका में संग्रहीत करें basename
। एक सुविधाजनक हैश चुनें, पहला पात्र साधारण मामलों के लिए कर सकता है।
क्रिस्टियन Ciupitu टिप्पणी में लिखते हैं कि XFS , और संभवतः अन्य बहुत नई फ़ाइल-सिस्टम, का उपयोग log(N)
, पकड़ निर्देशिका सामग्री को खोज योग्य संरचनाओं तो इस बाधा बहुत है ameliorated ।
आपके द्वारा छोड़ी गई टिप्पणी से, मुझे लगता है कि आप वास्तव में इस बात की परवाह नहीं करते हैं कि आपका FS कितनी फ़ाइलों / फ़ोल्डरों को होस्ट कर सकता है।
आपको संभवतः ModRewrite और rewriting site.com/username to site.com/?user= या कुछ इस तरह का उपयोग करने पर विचार करना चाहिए और अपने सभी डेटा को डेटाबेस में स्टोर करना चाहिए। प्रति उपयोगकर्ता एक फ़ोल्डर बनाना आम तौर पर आवश्यक नहीं है (और एक अच्छा विचार नहीं है)।
उस ने कहा, प्रत्येक फाइलसिस्टम की सीमाएँ होती हैं, और df
यह बता सकता है कि आपके सिस्टम के प्रत्येक विभाजन पर कितने इनकोड उपलब्ध हैं।