উবুন্টু কোনও ডিরেক্টরি আকার সীমাবদ্ধ করে না, এটি ফাইল সিস্টেম দ্বারা চাপিয়ে দেওয়া হয়। প্রতিটি ফাইল এবং ডিরেক্টরি একটি তথাকথিত ইনোড হয়। আপনি df -i
সমস্ত মাউন্ট করা ফাইল সিস্টেমের জন্য ব্যবহারে এবং ইনোডের সংখ্যাটি পরীক্ষা করতে ব্যবহার করতে পারেন ।
আমি ইস্যু ছাড়াই মাত্র 1 মিলিয়ন এবং একটি ফাইল তৈরি করেছি কারণ আমার 50 জিবি (46 জিআইবি) এর এক্সট 4 হোম পার্টিশনের জন্য আমার ইনোড সীমাটি যথেষ্ট বড়।
আমি 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
। প্রোগ্রামগুলি প্রায়শই এত বড় পরিমাণে ফাইল আশা করে না।
ext4
একটি ফাইল সিস্টেম প্রকার, কোনও ফাইল এক্সটেনশন নয়। আপনি কিউটিং সম্পাদনাগুলির জন্য একটি ডিরেক্টরি তৈরি করতে পারবেন না? আমি সন্দেহ করি যে এই প্রোগ্রামগুলি এত বড় ফাইল পরিমাণের সাথে দুর্দান্তভাবে চলতে পারে।