বলুন আমি কেবল ডিরেক্টরি ডিরেক্টরী তৈরি করি এবং তারপরে আমি ls -ld কমান্ড করি। আমি দেখতে পাচ্ছি যে হার্ড লিঙ্কগুলির সংখ্যা 2, শুরু থেকে হার্ড লিঙ্কটি 2 কে ঠিক কী করে? বর্তমান ডিরেক্টরিতে সাব-ডিরেক্টরিগুলির সংখ্যা কি হার্ড লিঙ্কের সংখ্যার সমান - 2?
বলুন আমি কেবল ডিরেক্টরি ডিরেক্টরী তৈরি করি এবং তারপরে আমি ls -ld কমান্ড করি। আমি দেখতে পাচ্ছি যে হার্ড লিঙ্কগুলির সংখ্যা 2, শুরু থেকে হার্ড লিঙ্কটি 2 কে ঠিক কী করে? বর্তমান ডিরেক্টরিতে সাব-ডিরেক্টরিগুলির সংখ্যা কি হার্ড লিঙ্কের সংখ্যার সমান - 2?
উত্তর:
ঐতিহাসিকভাবে , প্রথম ইউনিক্স ফাইল সিস্টেম যে ডিরেক্টরির মধ্যে দুই এন্ট্রি তৈরি করা হয়েছে: .ডিরেক্টরির নিজেই প্রতি নির্দেশ, এবং ..তার পিতা বা মাতা প্রতি নির্দেশ। এটি অ্যাপ্লিকেশন এবং ওএস উভয়ের জন্যই ফাইল সিস্টেমকে অতিক্রম করার একটি সহজ উপায় সরবরাহ করেছিল।
সুতরাং প্রতিটি ডিরেক্টরিতে 2 + n এর লিঙ্ক গণনা রয়েছে যেখানে এন সাব-ডিরেক্টরিগুলির সংখ্যা। লিঙ্কগুলি হ'ল তার পিতামাতার সেই ডিরেক্টরিটির জন্য .প্রবেশিকা, ডিরেক্টরিটির নিজস্ব ..এন্ট্রি এবং প্রতিটি উপ-ডিরেক্টরিতে প্রবেশ entry উদাহরণস্বরূপ, ধরুন এটি /parentসমস্ত ডিরেক্টরিতে অন্তর্ভুক্ত সাবট্রি এর বিষয়বস্তু :
/parent
/parent/dir
/parent/dir/sub1
/parent/dir/sub2
/parent/dir/sub3
তারপর dir5 একটি লিঙ্ক গণনা রয়েছে: dirমধ্যে এন্ট্রি /parent, .এন্ট্রি /parent/dir, এবং তিন ..প্রতিটি এন্ট্রি /parent/dir/sub1, /parent/dir/sub2এবং /parent/dir/sub3। যেহেতু /parent/dir/sub1কোনও উপ-ডিরেক্টরি নেই, তাই এর লিঙ্কের গণনা 2 ( sub1প্রবেশ /parent/dirএবং .প্রবেশের ক্ষেত্রে /parent/dir/sub1)।
মূল ডিরেক্টরিতে বিশেষ ক্যাসিংয়ের পরিমাণ হ্রাস করতে, যার কোনও "যথাযথ" পিতা বা মাতা নেই, মূল ডিরেক্টরিটিতে একটি ..এন্ট্রি রয়েছে যা নিজেই নির্দেশ করে। এইভাবে এটিরও একটি লিঙ্ক গণনা রয়েছে 2 টি উপ-ডিরেক্টরিগুলির সংখ্যা, 2 টি হচ্ছে /.এবং /..।
পরবর্তীতে ফাইল সিস্টেম মেমরি পিতা বা মাতা ডিরেক্টরি ট্র্যাক রাখতে এবং সাধারণত প্রয়োজন হবে না সেদিকেই ঝুঁকেছে আছে .এবং ..প্রকৃত এন্ট্রি হিসেবে বিদ্যমান; টিপিক্যাল আধুনিক ইউনিক্স সিস্টেম সমুহের আচরণ .এবং ..ফাইলসিস্টেম-টাইপ স্বাধীন ফাইলসিস্টেম কোড অংশ হিসেবে বিশেষ মান হিসাবে। কিছু ফাইল সিস্টেমে এখনও অন্তর্ভুক্ত থাকে .এবং ..এন্ট্রি থাকে, বা ডিস্কে কিছুই না উপস্থিত থাকার ভান করে।
বেশিরভাগ ফাইলসিস্ট্রি এখনও ডিরেক্টরিগুলির জন্য 2 + n এর লিঙ্ক গণনা রিপোর্ট করে .এবং ..এন্ট্রিগুলি বিদ্যমান কিনা তা নির্ধারণ করে তবে ব্যতিক্রম রয়েছে, উদাহরণস্বরূপ, বিটিআরএফগুলি এটি করে না।
..পিতামাতাকে নির্দেশ করা বর্তমান ডিরেক্টরিটির লিঙ্ক কাউন্টকে প্রভাবিত করে না। 2 এর গণনাটি আসে .এবং ডিরেক্টরিটির (মূল) নামটি নিজেই তালিকাবদ্ধ করে। আপনি যেভাবে এটি রেখেছেন তা কিছুটা দ্বিধাগ্রস্ত, এবং এটির মতো শব্দ করে তোলে .এবং ..এটি দুটি। ..গণিতটি কীভাবে কার্যকর হয় তা কেবল ব্যাখ্যা করার জন্য ব্যবহার করা উচিত 2+n:)
.এটির জন্য একটি রয়েছে এবং এর ভিতরে একটি রয়েছে one " যদি এটি এখনও আপনার কাছে অস্পষ্ট থাকে তবে আমি দুঃখিত আমি আরও কিছু বলতে চাই না unable আমি কেবল আরও ভাল করতে পারলাম মন্তব্যগুলিতে তার উত্তরটি এখানে অনুলিপি করুন।
ডিরেক্টরিটি নিজেই রয়েছে এবং এর .ভিতরে একটি রয়েছে inside
বর্তমান ডিরেক্টরিতে সাব-ডিরেক্টরিগুলির সংখ্যা কি হার্ড লিঙ্কের সংখ্যার সমান - 2?
এটি উপলব্ধি করে, যেহেতু প্রতিটি উপ-ডিরেক্টরি একটি ..হার্ডলিঙ্ক তৈরি করে এবং এর বাইরে আপনি ডিরেক্টরিগুলিতে হার্ডলিঙ্ক তৈরি করতে পারবেন না। 1 যাইহোক, আমি গুরুতর কোনও কারণে এটি বিশ্বাস করব না, যেমন। যেহেতু সাব-ডিরেক্টরিগুলি গণনা করা এবং আসল নম্বর পাওয়া সহজ।
আপনি যদি কেবলমাত্র lsকতগুলি সাবস রয়েছে তার একটি ধারণার জন্য আউটপুটটি দেখছেন , তবে এটি আপনাকে একটি শালীন ধারণা দেয়।
1 বা কমপক্ষে, আপনি এটি করতে পারবেন না ln। আমি প্রোগ্রামগতভাবে চেষ্টা করার চেষ্টা করিনি, এবং man 2 linkঅস্পষ্ট - একটি ডিরেক্টরিতে লিঙ্ক করার ক্ষেত্রে কোনও সুস্পষ্ট ত্রুটি নেই, যদিও এমন এক দম্পতি রয়েছে যা প্রয়োগ করতে পারে ( EMLINK, EPERM)। সুতরাং যদি না কোথাও কোনও মানক থাকে যে বলে যে ডিরেক্টরিতে কেবলমাত্র সম্ভাব্য হার্ড লিঙ্কগুলি .এবং ..আবার, আমি কেবল সেই হার্ড লিঙ্ক গণনাটিকে একটি নৈমিত্তিক ক্লু হিসাবে বিবেচনা করব।