एक निर्देशिका पर मेरे पास कितनी फाइलें हो सकती हैं?


21

इस सवाल से संबंधित है यह एक

मैं एनीमेशन के साथ काम करता हूं, जो आम तौर पर एकल निर्देशिका पर संग्रहीत फ़ाइलों (+/- 1,000,000) के बहुत सारे उत्पन्न करता है। मैक ओएस एक्स पर, कुछ कीड़े +/- 30,000 से अधिक फाइलों के साथ आए, इसलिए मैंने एनीमेशन को विभिन्न निर्देशिकाओं में तोड़ दिया।

उबंटू पर, क्या एकल निर्देशिका को रखने वाली फ़ाइलों की संख्या के लिए एक सीमा है?

जवाबों:


32

Ubuntu एक निर्देशिका के आकार को सीमित नहीं करता है, यह फ़ाइल सिस्टम द्वारा लगाया जाता है। प्रत्येक फ़ाइल और निर्देशिका एक तथाकथित आईनोड है। आप df -iसभी माउंट किए गए फाइल सिस्टम के लिए उपयोग और उपलब्ध में इनोड की संख्या की जांच करने के लिए उपयोग कर सकते हैं ।

मैंने सिर्फ 1 मिलियन और एक फाइल बिना किसी समस्या के बनाई है क्योंकि 50 जीबी (46 GiB) के मेरे ext4 होम विभाजन के लिए मेरी इनकोड सीमा काफी बड़ी है।

मैंने फ़ाइलों को बनाने के लिए शेल विस्तार का उपयोग किया, touchउपयोगिता के साथ :

mkdir test
cd test
touch {0..300000}
touch {300000..600000}
touch {600000..900000}
touch {900000..1000000}

इससे 1000001 फाइलें बनाई जा सकती हैं जिन्हें सत्यापित किया जा सकता है ls | wc -l। क्यों 300000..600000और क्या नहीं 300001..600000? क्योंकि मैं अंत में उस 1 को डालने के लिए बहुत आलसी था।

df -i की तरह लगता है:

/dev/sda6            3055616 1133635 1921981   38% /home

अब परीक्षण फ़ाइलों को निकालें ( cd ..&&rm -f testबहुत अधिक समय लगा, इसलिए rmफ़ाइल नाम के साथ उपयोग करें ):

rm {0..300000}
rm {300000..600000}
rm {600000..900000}
rm {900000..1000000}
cd ..
rmdir f

और फ़ाइलों को हटाने के तुरंत बाद उपयोग में इनोड की संख्या कम हो गई:

/dev/sda6            3055616  133634 2921982    5% /home

ध्यान दें कि भले ही फाइलसिस्टम इतनी बड़ी संख्या में फाइल की अनुमति देता है, लेकिन इतनी बड़ी फाइलों को एक ही डायरेक्टरी में स्टोर करना एक भयानक विचार है। कम से कम कुछ उपनिर्देशिका जैसे संरचना के साथ उपयोग करें f/i/l/e/filename.ext। प्रोग्राम अक्सर बड़ी मात्रा में फ़ाइलों की अपेक्षा नहीं करते हैं।


1
ext4एक फ़ाइल प्रकार है, एक फ़ाइल एक्सटेंशन नहीं है। क्या आप पंक्तिबद्ध संपादन के लिए निर्देशिका नहीं बना सकते हैं? मुझे संदेह है कि वे प्रोग्राम इतनी बड़ी फ़ाइल मात्रा के साथ अच्छी तरह से चल सकते हैं।
लेकेनस्टाइन

1
यकीन है कि मैं कर सकता हूं। इससे पहले कि मैं उनके पास जाऊं मैं समस्याओं की कल्पना कर रहा हूं। आप एडोब आफ्टर इफेक्ट्स के बारे में सही हैं, 'निश्चित रूप से दुर्घटनाग्रस्त हो जाएगा, लेकिन ऑटोडस्क लोगों पर संदेह न करें, वे कोड के अद्भुत टुकड़े बनाते हैं ... =) फेरारी का उपयोग करते हुए दिखता है। दुर्घटना के लिए बहुत आसान है, बहुत तेज और शक्तिशाली क्योंकि जमीन पर अवरुद्ध है। आशा है कि मेरी अंग्रेजी समझ में आती है।
H_7

1
मैं यह समझता हूँ। याय, ठीक 17.000 प्रतिष्ठा ^ ^
लेकेनस्टाइन

1
फ़ाइलों को हटाने से पहले, इस निर्देशिका को Nautilus में खोलें और देखें कि क्या होता है;)।
मारियो

1
@bzero कृपया इसके लिए एक नया प्रश्न खोलें।
लेकेनस्टाइन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.