ওপির প্রশ্নের উল্লেখ রয়েছে mount --bind
। একটি দ্রুত চেক দেখায় যে এটি যে ডিরেক্টরিতে মাউন্ট করা হয়েছে তার লিঙ্ক-কাউন্টটি পরিবর্তন করে না। হার্ডলিঙ্কিং সর্বদা লিঙ্ক- কাউন্টকে সংশোধন করে, যা আপনি ব্যবহার করে দেখতে পারেন ls -ld
।
সাধারণত (বেশিরভাগ ইউনিক্সের মতো সিস্টেম) ডিরেক্টরিতে হার্ডলিঙ্কের সংখ্যাটি সেই নামের সাথে সংযুক্ত ডিরেক্টরিগুলির সংখ্যা হবে, যেমন,
".."
(মূল ডিরেক্টরি)
"."
(ডিরেক্টরি নিজেই)
- সাবডিরেক্টরি
আপনি যদি (সাধারণত) আরও তথ্যবহুল তথ্য পৃষ্ঠাটি পড়েন তবে অন্যরা যেমন করেছে তেমন আবিষ্কার করতে পারেন :
Oh great, one spends hours tying to find what is wrong only to
discover,
$ info ln
On all existing implementations, you cannot make a hard link to a
directory, and hard links cannot cross filesystem boundaries. (These
restrictions are not mandated by POSIX, however.)
Therefore, kindly say everywhere you say super-user only,
instead say "few systems, super-user only".
যদিও এটি বর্তমানে শব্দযুক্ত
বেশিরভাগ সিস্টেমে ডিরেক্টরিতে একটি হার্ড লিঙ্ক তৈরি নিষিদ্ধ; এটি যেখানে অনুমোদিত, কেবলমাত্র সুপার-ব্যবহারকারী এটি করতে পারে (এবং সাবধানতার সাথে, যেহেতু একটি চক্র তৈরি করা অন্যান্য অন্যান্য ইউটিলিটিগুলিতে সমস্যা সৃষ্টি করবে)। হার্ড লিঙ্কগুলি ফাইল সিস্টেমের সীমানা অতিক্রম করতে পারে না। (তবে এই নিষেধাজ্ঞাগুলি পসিক্স দ্বারা বাধ্যতামূলক নয়))
ডিরেক্টরিতে লিঙ্ক লিঙ্কযুক্ত থাকলে ফাইলগুলি হারাতে বাঁচাতে একটি ডিরেক্টরিতে হার্ডলিঙ্কগুলি তৈরি করা (এবং অপসারণ) একটি সীমাবদ্ধ বৈশিষ্ট্য। সি অপারেটিং সিস্টেম ইন্টারফেসে লিংক / লিঙ্ক / আনলিংক ক্রিয়াকলাপগুলি প্রতিসম হয় , তাই ডিরেক্টরিগুলিতে লিঙ্কিং সাধারণত সাধারণত এমকেডির / rmdir কলগুলিতে করা হয়।
মনে রাখবেন যে জিএনইউ কোর্টিলগুলি অনেকগুলি 20-30 বছর আগে লেখা হয়েছিল (এবং নথিভুক্ত করা হয়েছিল), যখন কিছু আসল যাদুঘরের টুকরো এখনও ব্যবহৃত ছিল। হার্ড লিঙ্কের বিষয়ে উল্লিখিত হিসাবে , মূলত কোনও এমকিডির / আরএমডিির কল ছিল না; ডিরেক্টরিগুলি হার্ড লিঙ্কগুলি ব্যবহার করে তৈরি করা হয়েছিল (সুবিধাপ্রাপ্ত অপারেশন হিসাবে)। উল্লিখিত সমস্যাগুলি সমাধান করার জন্য যখন সিস্টেম কলগুলি যুক্ত করা হয়েছিল তখন সেগুলি সমস্ত চলে যায়। তবে ডকুমেন্টেশনগুলি তাদের রক্ষণাবেক্ষণকারীদের স্মৃতির অতীত এই সিস্টেমগুলি উল্লেখ করে to বিকল্পটি যা প্রশ্নবিদ্ধ হয়েছিল তা পূর্বসূরীর fileutils
(যা গঠনের জন্য textutils
এবং shellutils
১৯৯০ এর দশকের মাঝামাঝি সময়ে মিলিত হয়েছিল coreutils
)। চেঞ্জলগ থেকে কয়েকটি আইটেম বৈশিষ্ট্যটির উত্স পরিষ্কার করতে সহায়তা করতে পারে:
Mon Jul 23 16:57:44 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
* cp.c (copy): Make +update operate silently, like +one-file-system.
* ln.c: Add -F as synonym for -d, for SunOS compatibility.
Wed Feb 21 11:13:26 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
* ln.c (error): New function.
(main, do_link): Call error instead of fprintf and exit.
(main): Recognize new -d +directory option to allow superuser to
make hard links to dirs, like the BSD ln -f option.
(do_link): Don't allow hard links to dirs (they are hard to
get rid of -- rmdir and unlink don't do it), unless -d was given.
(usage): Mention -d +directory option.
সুতরাং আপনি উদাহরণস্বরূপ দেখতে পারেন যে এই প্রাচীনত্বগুলির জন্য এই বৈশিষ্ট্যটি প্রযোজ্য ছিল তার মধ্যে একটি হ'ল সুনোস। সংশ্লিষ্ট ম্যানুয়াল পৃষ্ঠা এটি বলেছে:
OPTIONS
-f Force a hard link to a directory -- this option is only avail-
able to the super-user.
-s Create a symbolic link or links.
SYSTEM V OPTIONS
-f Force files to be linked without displaying permissions, asking
questions or reporting errors.
-F Force a hard link to a directory -- this option is only avail-
able to the super-user.
-s Create a symbolic link or links.
ডকুমেন্টেশনে উল্লিখিত হিসাবে, এই বৈশিষ্ট্যটি (এবং সম্পর্কিত বিকল্পটি পসিক্সে নেই (এবং এর কারণটি ব্যাখ্যা করার জন্য রেশনাল বিভাগটি দেখুন ) Rather পরিবর্তে, বৈশিষ্ট্যটি একটি নতুন কমান্ডে স্থানান্তরিত হয়েছিল (জিএনইউ কোর্টিলগুলিও সরবরাহ করেছেন) link
। কমান্ডটি নিজেই অস্পষ্ট; আপনাকে স্ট্যান্ডার্ড থেকে কোনও ব্যবহার পেতে ফাংশন কলের বিবরণ পড়তে হবে।তবে, প্রয়োজনীয় সুযোগ-সুবিধাগুলির বিষয়ে দাবি অস্বীকার করার আগে কমান্ডটি কোন পরিস্থিতিতে কাজ করবে সেটির মানটি স্পষ্ট করে না। তার জন্য, আপনাকে স্ট্যান্ডার্ডের বাইরে সিস্টেম নির্ভর বৈশিষ্ট্যগুলিতে যেতে হবে:
একটি ডিরেক্টরিতে লিঙ্ক করা বেশিরভাগ inতিহাসিক বাস্তবায়নে সুপারসারের মধ্যে সীমাবদ্ধ কারণ এই ক্ষমতাটি ফাইলের স্তরক্রমের লুপ তৈরি করতে পারে বা অন্যথায় ফাইল সিস্টেমকে দূষিত করে। POSIX.1-2-2008 এর এই ভলিউমটি নিষিদ্ধ করে link()
এবং এটি করা unlink()
থেকে এই দর্শনটি চালিয়ে যায় । অন্যান্য ফাংশন এটি করতে পারে যদি বাস্তবায়নকারী এ জাতীয় এক্সটেনশন ডিজাইন করে।
সেখানে হয় সিস্টেম যা স্বাভাবিক সংখ্যা (2 প্লাস সাবডিরেক্টরি) পরলোক ডিরেক্টরি থেকে hardlinks ব্যবহার করুন।
ওএসএক্স সাধারণ ফাইলগুলির জন্য ডিরেক্টরিগুলিতে একাধিক হার্ডলিঙ্ক ব্যবহার করে । এটি ব্যবহার করে এটি সমর্থন করে না ln
( ম্যানুয়াল পৃষ্ঠা দেখুন )। কীভাবে টাইম মেশিনটি তার যাদুটি কাজ করে তা অনুসারে , এটি টাইম মেশিন ব্যাকআপ সুবিধার জন্য ব্যবহৃত সংস্করণগুলি সরবরাহ করতে এটি করে।
আরও পড়া: