উত্তরটি ফাইল সিস্টেমের পছন্দের মতো সহজ নয়। স্যানে ফাইল সিস্টেমগুলি ডিরেক্টরিগুলির জন্য লিনিয়ার তালিকাগুলি ব্যবহার করা অনেক আগে বন্ধ করে দিয়েছিল, অর্থাত্ কোনও ডিরেক্টরিতে প্রবেশের সংখ্যা ফাইল অ্যাক্সেসের সময়কে প্রভাবিত করে না ....
ব্যতীত যখন এটি করে।
প্রকৃতপক্ষে, প্রতিটি অপারেশন এন্ট্রি সংখ্যা নির্বিশেষে দ্রুত এবং দক্ষ থাকে, তবে কিছু কাজ ক্রমবর্ধমান সংখ্যক ক্রিয়াকলাপকে জড়িত। স্পষ্টতই, সরল কাজটি করতে ls
অনেক সময় লাগে এবং সমস্ত ইনোডগুলি পড়া এবং সাজানো না হওয়া পর্যন্ত আপনি কোনও জিনিস দেখতে পাবেন না। এরকম ls -U
কারণ আপনি এটি মৃত না দেখতে পারেন (পাঁচমিশালী) একটু সাহায্য করে, কিন্তু perceptively সময় কমাতে নেই। কম স্পষ্ট যে কোনও ওয়াইল্ডকার্ড সম্প্রসারণের জন্য প্রতিটি ফাইলের নাম পরীক্ষা করতে হবে এবং মনে হয় বেশিরভাগ ক্ষেত্রে পুরো ইনোডটিও পড়তে হয়।
সংক্ষেপে: আপনি যদি ইতিবাচকভাবে নিশ্চিত হতে পারেন যে কোনও অ্যাপ্লিকেশন (শেল অ্যাক্সেস সহ) কোনও ওয়াইল্ডার্ড ব্যবহার করবে না, তবে আপনি কোনও অনুশোচনা ছাড়াই বিশাল ডিরেক্টরি পেতে পারেন। কোডটিতে লুকিয়ে থাকা যদি কিছু ওয়াইল্ডকার্ড থাকতে পারে তবে প্রতিটি এক হাজারের নীচে ডিরেক্টরি ভাল রাখুন keep
সম্পাদনা করুন :
সমস্ত আধুনিক ফাইল সিস্টেমগুলি বড় ডিরেক্টরিগুলির জন্য ভাল ডেটা স্ট্রাকচার ব্যবহার করে, সুতরাং একটি নির্দিষ্ট ফাইলের ইনোড সন্ধান করতে হবে এমন একটি একক ক্রিয়াকলাপ হিউমোনাস ডিরেক্টরিতেও খুব দ্রুত হবে।
তবে, বেশিরভাগ অ্যাপ্লিকেশন কেবল একক-অপারেশন করে না। তাদের বেশিরভাগই একটি সম্পূর্ণ ডিরেক্টরি বা একটি ওয়াইল্ডকার্ড-মিলবে। এগুলি ধীরে ধীরে যাই হোক না কেন, কারণ তারা সমস্ত এন্ট্রি পড়ার সাথে জড়িত।
উদাহরণস্বরূপ: আসুন আপনার 'foo-000000.txt' নামে একটি মিলিয়ন ফাইলের সাথে 'foo-999999.txt' এবং একটি একক 'নেটালিপোর্টম্যান.জেপিগ' নামে একটি ডিরেক্টরি রয়েছে বলে যাক। এগুলি দ্রুত হবে:
ls -l foo-123456.txt
open "foo-123456.txt"
delete "foo-123456.txt"
create "bar-000000.txt"
open "natalieportman.jpeg"
create "big_report.pdf"
এগুলি ব্যর্থ হবে, তবে দ্রুত ব্যর্থ হবে:
ls -l bar-654321.txt
open bar-654321.txt
delete bar-654321.txt
এগুলি ধীর হয়ে যাবে, এমনকি যদি তারা খুব কম ফলাফলও দেয়; এমনকি যারা ব্যর্থ হয়, সমস্ত এন্ট্রি স্ক্যান করার পরে ব্যর্থ হয়:
ls
ls foo-1234*.txt
delete *.jpeg
move natalie* /home/emptydir/
move *.tiff /home/seriousphotos/
homes/u/username, homes/j/joeblow,homes/s/somebody,...
?