একটি ডিরেক্টরিতে আমার কতগুলি ফাইল থাকতে পারে?


21

এই প্রশ্নটি এই একটি সম্পর্কিত ।

আমি অ্যানিমেশন দিয়ে কাজ করি যা সাধারণত একক ডিরেক্টরিতে সঞ্চিত প্রচুর ফাইল (+/- 1,000,000) উত্পন্ন করে। ম্যাক ওস এক্স-তে, কিছু বাগগুলি +/- 30,000 এরও বেশি ফাইল নিয়ে আসে, তাই আমি অ্যানিমেশনটি বিভিন্ন ডিরেক্টরিতে ভাঙ্গতাম।

উবুন্টুতে, একক ডিরেক্টরিতে থাকা ফাইলগুলির সংখ্যার কি সীমা রয়েছে?

উত্তর:


32

উবুন্টু কোনও ডিরেক্টরি আকার সীমাবদ্ধ করে না, এটি ফাইল সিস্টেম দ্বারা চাপিয়ে দেওয়া হয়। প্রতিটি ফাইল এবং ডিরেক্টরি একটি তথাকথিত ইনোড হয়। আপনি 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। প্রোগ্রামগুলি প্রায়শই এত বড় পরিমাণে ফাইল আশা করে না।


1
ext4একটি ফাইল সিস্টেম প্রকার, কোনও ফাইল এক্সটেনশন নয়। আপনি কিউটিং সম্পাদনাগুলির জন্য একটি ডিরেক্টরি তৈরি করতে পারবেন না? আমি সন্দেহ করি যে এই প্রোগ্রামগুলি এত বড় ফাইল পরিমাণের সাথে দুর্দান্তভাবে চলতে পারে।
লেকেনস্টেইন

1
অবশ্যই আমি পারি। আমি সমস্যাগুলির কাছে পৌঁছানোর আগে কেবল তাদের কল্পনা করছি। এফডসের পরে আপনি অ্যাডোব সম্পর্কে ঠিক বলেছেন, 'অবশ্যই ক্র্যাশ হবে, তবে অটোডেস্ক ছেলেরা সন্দেহ করবেন না, তারা কোডের বিস্ময়কর টুকরো তৈরি করে ... =) ফেরারি ব্যবহার করার মতো বলে মনে হচ্ছে। ক্রাশ করা খুব সহজ, খুব দ্রুত এবং পাওয়ারফুল কারণ স্থলভাগে অবরুদ্ধ। আশা করি আমার ইংরেজিটি বোধগম্য হবে।
H_7

1
আমি এটা বুঝতে পেরেছি. হ্যাঁ, ঠিক 17.000 খ্যাতি ^^
লেকেনস্টেইন

1
ফাইলগুলি মুছে ফেলার আগে, চেষ্টা করুন এবং নটিলাসে এই ডিরেক্টরিটি খুলুন এবং দেখুন কী ঘটে;)।
মারিও

1
@ বুজারো দয়া করে এটির জন্য একটি নতুন প্রশ্ন খুলুন।
লেকেনস্টেইন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.