প্রচলিতভাবে ডিজাইন করা ইউএনআইএক্স ফাইল সিস্টেমের যে কোনও ফাইল যার রেফারেন্স গণনা (যেমন হার্ডলিংক কাউন্টের সমষ্টি এবং ওপেন ফাইল হ্যান্ডেলের সংখ্যা *) 0 এ পৌঁছেছে তা সরানো হয়েছে। যাইহোক, আধুনিক ইউনিক্স সিস্টেমে rmdir
সিস্টেম কলটি অপসারণ .
এবং ..
একের পর একের চেয়ে একক ক্রিয়াকলাপে খালি ডিরেক্টরি সরিয়ে দেয় ।
যদিও historicalতিহাসিক ইউনিক্স সিস্টেমে এই সিস্টেম কলটির অস্তিত্ব ছিল না। পরিবর্তে, rmdir
কমান্ডটি একটি নির্ধারিত প্রোগ্রাম ছিল ( উত্স কোডটি এখানে পাওয়া যাবে ) যা পরীক্ষা করেছিল যে কোনও ডিরেক্টরি ফাঁকা ছিল (বিশেষ এন্ট্রিগুলি ব্যতীত), এবং তারপরে মুছে ফেলা হয়েছিল ..
এবং .
সেই ক্রমে, এবং এরপরে ডিরেক্টরিটি নিজেই মুছে ফেলেছিল unlink
সিস্টেম কল যা কেবলমাত্র রুটকে ডিরেক্টরিতে ব্যবহার করার অনুমতি দেওয়া হয়েছিল (সুতরাং কেন কমান্ডটি নির্ধারিত ছিল)। সুতরাং, সেই সিস্টেমে ডিরেক্টরিটির লিঙ্ক গণনাটি .
মুছে ফেলার পরে মুহূর্তের মধ্যে 1 হবে তবে ডিরেক্টরিটি প্যারেন্ট ডিরেক্টরি থেকে সরানোর আগে, তখন 0 হবে।
rm
কমান্ড ঘটনাক্রমে, ডিরেক্টরি মুছে ফেলার থেকে রুট বাধা দিয়েছে। এবং কমান্ড rm -r
কল করতে হবে rmdir
ডিরেক্টরিগুলি তাদের বিষয়বস্তু খালি করার পরে অপসারণ করার জন্য।
এই historicalতিহাসিক সিস্টেমগুলিতে, unlink
রুট হিসাবে চলমান কোনও প্রোগ্রাম থেকে কলটির অপব্যবহার করে rmdir
বা এর সাথে রেসের শর্তে চলে যাওয়া বা mv
এমন একটি প্রক্রিয়াতে একটি ফাইল তৈরি করা যার বর্তমান ডিরেক্টরি মুছে ফেলা হয়েছে (আধুনিক সিস্টেমগুলি এটি প্রতিরোধ করে) ফলে ফাইল বা ডিরেক্টরিগুলি ঝুঁকতে পারে যার 0 এর উপরে একটি হার্ডলিঙ্ক গণনা রয়েছে তবে ডিরেক্টরি ট্রিতে নেই। এই অবস্থার দ্বারা সনাক্ত করা হয়েছিল dcheck
এবং fsck
বেশিরভাগ ফাইল সিস্টেমে এটি শারীরিকভাবে সম্ভব থাকার কারণে এটি এখনও একটি চেক ।
ফাইল সিস্টেমগুলি, ঘটনাচক্রে, হার্ডলিংকযুক্ত ফাইল হিসাবে ডিরেক্টরিগুলি (সহ .
এবং ..
) প্রয়োগ করতে হবে না । এই ফাইল সিস্টেমগুলিতে, ডিরেক্টরিটির হার্ডলিঙ্ক গণনা সর্বদা হিসাবে প্রতিবেদন করা হবে 0
(তবে অবশ্যই, পিতামহিত ডিরেক্টরিতে এর অস্তিত্ব 1 এর "রেফারেন্স গণনা" এর জন্য যোগ্যতা অর্জন করে)।
মুছে ফেলা ডিরেক্টরিটির আচরণ (যেমন কোনও প্রক্রিয়া যা এটি ইতিমধ্যে উন্মুক্ত বা এটির বর্তমান ডিরেক্টরি হিসাবে রয়েছে তার দ্বারা পরীক্ষা করা হয়) এবং ডিরেক্টরিটির "লিঙ্ক কাউন্ট" এর সঠিক অর্থ অনির্দিষ্ট। উদাহরণস্বরূপ, ম্যাক ওএস এক্সে এটি 2 এর একটি হার্ডলিঙ্ক গণনা রিপোর্ট করবে , যদিও এর আসল কোনও হার্ডলিঙ্ক নেই। তথাপি .
এবং ..
তালিকাটিতে উপস্থিত না হলেও ডিরেক্টরিটি খোলা stat
যেতে পারে এবং নাম দিয়ে ডাকা যেতে পারে .
বা ..
। লিনাক্স উপর, লিঙ্ক গণনা 0 কিন্তু .
ও ..
কাজ একইভাবে এখনও।
ম্যাক ওএস এক্স একটি ডিরেক্টরিতে সমস্ত সাবডাইরেক্টরির সংখ্যার পরিবর্তে লিঙ্ক গণনা হিসাবে সমস্ত ফাইলের সংখ্যা রিপোর্ট করে । তবে এটি 2 .
এবং এমনকি যখন ..
চলে যায়।
* এর মধ্যে রয়েছে সাধারণ উন্মুক্ত বর্ণনাকারী, মেমরি-ম্যাপযুক্ত বিভাগগুলি (উদাহরণস্বরূপ বাইনারিগুলি এবং ভাগ করে নেওয়া লাইব্রেরিগুলি সহ) এবং বর্তমান ডিরেক্টরিগুলি প্রক্রিয়া করে।
..
, কেবল যখন এটি একটি উপ-ডিরেক্টরি আছে, সঠিক? সুতরাং..
একটি ডিরেক্টরি জন্য সবসময় উপস্থিত না, তাই না?