একটি প্রতীকী লিঙ্ক এবং একটি হার্ড লিঙ্ক মধ্যে পার্থক্য কি?


768

সম্প্রতি আমাকে একটি কাজের সাক্ষাত্কারের সময় জিজ্ঞাসা করা হয়েছিল। আমি সত্যই বলেছি এবং আমি জানি যে একটি প্রতীকী লিঙ্কটি কীভাবে আচরণ করে এবং কীভাবে এটি তৈরি করতে হয়, তবে হার্ড লিঙ্কটির ব্যবহার এবং এটি কীভাবে প্রতীকী থেকে পৃথক হয় তা বুঝতে পারি না।


2
'হার্ড লিঙ্কের ব্যবহার বুঝতে পারি না' সম্পর্কে, এটি বিল্ড সিস্টেমগুলিতে ব্যবহার করা যেতে পারে যা বাইনারিগুলির অনুলিপি করে do প্রকৃত অনুলিপিটির পরিবর্তে শক্ত লিঙ্ক তৈরি করা গতি বাড়িয়ে তোলে। এমএসবিল্ড 4.0 এটি সমর্থন করে।
অঙ্কুশ

13
আমি বুঝতে এই লিঙ্কটি খুব দরকারী। askubuntu.com/questions/108771/...
kta

2
unix.stackexchange বুলেট পয়েন্টগুলির একটি ভাল তালিকা রয়েছে ... খুব সহায়ক কারণ এটি সমস্ত বাধা খুব সংক্ষিপ্তভাবে দেয় এবং স্কিম করা সহজ। (এই বুলেট পয়েন্টগুলির মধ্যে অনেকগুলি প্রান্তের কেস / ক্যাভেটসকে কভার করে যা কেবলমাত্র এই প্রশ্নের মন্তব্যে উল্লিখিত হয় ... বা মোটেও উল্লেখ করা হয় না)
ট্রেভর বয়েড স্মিথ

উত্তর:


779

ফাইল সিস্টেমের নীচে ফাইলগুলি ইনোড দ্বারা প্রতিনিধিত্ব করা হয়। (বা এটি একাধিক আইনোড? নিশ্চিত নয়))

ফাইল সিস্টেমের একটি ফাইল মূলত একটি ইনোডের লিঙ্ক।
একটি শক্ত লিঙ্ক, তারপরে, ঠিক একই অন্তর্নিহিত ইনোডের লিঙ্ক সহ অন্য একটি ফাইল তৈরি করে।

আপনি যখন কোনও ফাইল মুছবেন, এটি অন্তর্নিহিত ইনোডের একটি লিঙ্ক সরিয়ে ফেলবে। যখন ইনোডের সমস্ত লিঙ্ক মুছে ফেলা হয় তখনই ইনোডটি মুছে ফেলা হয় (বা ডিলেটযোগ্য / ওভার-লিখনযোগ্য)।

প্রতীকী লিঙ্কটি ফাইল সিস্টেমের অন্য নামের একটি লিঙ্ক।

একবার একটি হার্ড লিঙ্ক তৈরি হয়ে গেলে লিঙ্কটি ইনোডের হয়। মূল ফাইলটি মুছে ফেলা, নামকরণ করা, বা সরানো শক্ত লিঙ্কটিকে প্রভাবিত করবে না কারণ এটি অন্তর্নিহিত ইনোডের সাথে লিঙ্ক করে। ইনোডের ডেটাতে যে কোনও পরিবর্তন সেই ফাইলটিতে প্রতিফলিত হয় যা সেই ইনোডকে উল্লেখ করে।

দ্রষ্টব্য: হার্ড লিঙ্কগুলি কেবল একই ফাইল সিস্টেমের মধ্যে বৈধ। সিম্বলিক লিঙ্কগুলি ফাইল সিস্টেমগুলিকে স্প্যান করতে পারে কারণ এগুলি কেবল অন্য ফাইলের নাম।


2
আমি নিশ্চিত যে আই-নোডগুলি ওএসের নির্দিষ্ট ভেরিয়েন্টের উপর নির্ভর করে; তবে আমি বিশ্বাস করি এটি সাধারণত একক আই-নোড is আই-নোডে ফাইলটি সম্পর্কিত তথ্য এবং যেখানে ডিস্কে ডেটা সংরক্ষণ করা হয় সে সম্পর্কে তথ্য রয়েছে। বড় ফাইলগুলিতে অতিরিক্ত টেবিলের জন্য পরোক্ষ পয়েন্টার থাকবে।
টারসন

76
আপনি দরকারী বৈশিষ্ট্যটি যুক্ত করতে চাইতে পারেন যে প্রতীকী লিঙ্কগুলি ফাইল সিস্টেমগুলি অতিক্রম করতে পারে, হার্ড লিঙ্কগুলি পারে না (তাদের অবশ্যই একই ফাইল সিস্টেমের কোনও ফাইলের উল্লেখ করতে হবে)।
paxdiablo

52
একটা একটি ভাল চাক্ষুষ ব্যাখ্যা লিনাক্স গেজেটে নিবন্ধ
রড্রিগো


1
@ জেন: আপনি যে কোনও সময় কোনও ফাইল সিস্টেম ব্যবহার করা হচ্ছে না তা আনমাউন্ট / পুনঃনির্মাণ করতে পারেন। মূল বিভাজনের জন্য এটি কিছুটা জটিল তবে এটি করা যেতে পারে (পুনরায় সংশোধনযোগ্য নয়)। মূলের জন্য এটি করতে প্রথমে একটি পুনরুদ্ধার সিডি বুট করা প্রথমে মাউন্টগুলি পরিবর্তন করে পুনরায় বুট করা ভাল। তবে আপনার সুপার ব্যবহারকারীদের কাছে এই জাতীয় প্রশ্ন করা উচিত।
মার্টিন ইয়র্ক

464

কিছু দুর্দান্ত অন্তর্দৃষ্টি যা কোনও লিনাক্স (ইশ) কনসোল ব্যবহার করে সহায়তা করতে পারে।

দুটি ফাইল তৈরি করুন:

$ touch foo; touch bar

তাদের মধ্যে কিছু তথ্য প্রবেশ করুন:

$ echo "Cat" > foo
$ echo "Dog" > bar

(আসলে, আমি প্রথমে প্রতিধ্বনি ব্যবহার করতে পারতাম, কারণ এটি উপস্থিত না থাকলে ফাইলগুলি তৈরি করে ... তবে মনে রাখবেন না))

এবং যেমন প্রত্যাশিত:

$cat foo; cat bar
Cat
Dog

আসুন শক্ত এবং নরম লিঙ্কগুলি তৈরি করুন:

$ ln foo foo-hard
$ ln -s bar bar-soft

আসুন দেখুন কী ঘটেছিল:

$ ls -l

foo
foo-hard
bar
bar-soft -> bar

ফু এর নাম পরিবর্তন করা কোনও বিষয় নয়:

$ mv foo foo-new
$ cat foo-hard
Cat

ফাইলটির ইনড, বিষয়বস্তুগুলিতে ফু-হার্ড পয়েন্টস - এটি পরিবর্তন করা হয়নি।

$ mv bar bar-new
$ ls bar-soft
bar-soft
$ cat bar-soft  
cat: bar-soft: No such file or directory

ফাইলটির বিষয়বস্তু সন্ধান করা যায়নি কারণ নরম লিঙ্কটি নামের দিকে নির্দেশ করে, এটি পরিবর্তিত হয়েছিল, এবং সামগ্রীতে নয়।

তেমনি, যদি fooমুছে ফেলা হয়, foo-hardতবুও বিষয়বস্তু ধারণ করে; যদি barমুছে ফেলা bar-softহয় তবে এটি একটি অ-বিদ্যমান ফাইলের লিঙ্ক।


12
এটি কি বোঝায় যে একটি "ফাইল" এবং "হার্ড লিঙ্ক" একই, উভয়ই একটি ইনোডকে নির্দেশ করে? ফাইল বা হার্ড লিঙ্ক মোছার বিষয়ে, বিষয়বস্তুগুলি এখনও অবধি বিদ্যমান যতক্ষণ না কেউ এখনও ইনোডের দিকে সঠিকভাবে নির্দেশ করছে?
ড্যানিয়েল ডাব্লু।

1
পুনঃটুইট কমপক্ষে একটি হার্ড লিঙ্ক (অর্থাত্ ফাইল) যতক্ষণ না এটি প্রদর্শিত হয় ততক্ষণ সামগ্রীটি পৌঁছানো যায়।
আদম মাতান

6
touch blah1; touch blah2সংক্ষিপ্ত করা যেতে পারেtouch blah1 blah2
দিমিত্রি জায়তসেভ

11
@ দিমিত্রিজেটসেভ সত্য, তবে এটি প্রাথমিকভাবে আইএমওর জন্য কম পঠনযোগ্য হবে।
আদম মাতান

8
আমি মনে করি আমি পড়ে থাকা অনেক উত্তরের ক্ষেত্রে এটি বোধগম্য উত্তর। গুচ্ছ ব্যাখ্যার চেয়ে একটি নমুনা ভাল।
স্কট চু

434

প্রবাদটি যেমন চলে যায়, একটি ছবির হাজার শব্দের মূল্য রয়েছে। আমি এখানে এটি কীভাবে দেখি:

এখানে চিত্র বর্ণনা লিখুন

আমরা কীভাবে সেই ছবিটিতে পৌঁছলাম:

  1. myfile.txtফাইল সিস্টেমে এমন একটি নাম তৈরি করুন যা একটি নতুন ইনোডকে নির্দেশ করবে (যার মধ্যে ফাইলের মেটাডেটা রয়েছে এবং এতে ডেটাগুলির ব্লকগুলিকে নির্দেশ করে যা এর বিষয়বস্তুগুলি রয়েছে, যেমন "হ্যালো, ওয়ার্ল্ড!" পাঠ্য:

    $ echo 'Hello, World!' > myfile.txt
    
  2. my-hard-linkফাইলটিতে একটি হার্ড লিঙ্ক তৈরি করুন myfile.txtযার অর্থ "একই ফাইলের মধ্যে একটি ফাইল তৈরি করা উচিত যা একই ইনোডকে myfile.txtনির্দেশ করবে":

    $ ln myfile.txt my-hard-link
    
  3. my-soft-linkফাইলটিতে একটি নরম লিঙ্ক তৈরি করুন myfile.txtযার অর্থ "একটি ফাইল তৈরি করুন যা ফাইলটির দিকে নির্দেশ করবে myfile.txt":

    $ ln -s myfile.txt my-soft-link
    

myfile.txtমুছে ফেলা হলে (বা সরিয়ে নেওয়া) এখন কী হবে তা দেখুন : my-hard-linkএখনও একই বিষয়বস্তুগুলিতে ইঙ্গিত করে এবং এইভাবে প্রভাবিত হয় না, my-soft-linkএখন এখন কিছুই দেখায় না। অন্যান্য উত্তরগুলি প্রতিটির পক্ষে ভাল / ধারণা নিয়ে আলোচনা করে।


3
@ থান্ডারওয়্যারিং "পয়েন্ট" দ্বারা, আমি লিঙ্কটি উল্লেখ করি না কেন তা বোঝাতে চাইছি। কোনও হার্ড লিঙ্কের ক্ষেত্রে, এটি সরাসরি একটি ইনোডকে উল্লেখ করে (অর্থাত্ একই ইনোড যা রেফারেন্সযুক্ত myfile.txt)। নরম লিঙ্কটির জন্য, এটির রেফারেন্সটি ইনোড নয় (এতে ডেটা রয়েছে), বরং এটির রেফারেন্সটি হ'ল ফাইল সিস্টেমের পথ myfile.txt(উদাহরণস্বরূপ /home/Documents/myfile.txt)
akivajgordon

4
আমি আপনার ভিজ্যুয়াল প্রতিক্রিয়াটি সত্যই পছন্দ করি @akivajgordon - সত্যই আমাকে পার্থক্যগুলি আরও ভালভাবে বুঝতে সাহায্য করেছে!
wmock

7
দশ হাজার কথা!
সাগানরাইটুয়াল

13
হতে পারে আমি ধীর, তবে আপনার ছবিটি প্রায় 2 সেকেন্ডের মধ্যে 20 বছরের রহস্য সাফ করেছে।
jdk1.0

3
সর্বাধিক দরকারী উত্তর, আমি এই পোস্টে এত গভীরভাবে কবর দেওয়া হয়েছে পাগল। আমি আপনাকে একশো ইন্টারনেট পয়েন্ট দেব তবে দুঃখের সাথে আমি কেবল আপনাকে একটি দিতে পারি।
ডাগরুম

71

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

হার্ড লিঙ্কগুলি কেবলমাত্র একটি ডিরেক্টরি এন্ট্রি গ্রহণ করায় ডিস্কের জায়গা কম নিতে পারে, অন্যদিকে একটি সিমলিংকের যে নামটির দিকে ইঙ্গিত করা হয় সেটিকে সংরক্ষণ করার জন্য তার নিজস্ব ইনোড প্রয়োজন।

হার্ড লিঙ্কগুলি সমাধান করতেও কম সময় নেয় - সিমলিংকগুলি অন্যান্য সিমলিংকের দিকে নির্দেশ করতে পারে যা সিমলিঙ্কযুক্ত ডিরেক্টরিতে রয়েছে। এবং এর কয়েকটি এনএফএস বা অন্যান্য উচ্চ-ল্যাটেন্সি ফাইল সিস্টেমে থাকতে পারে এবং এর ফলে নেটওয়ার্ক ট্র্যাফিকের সমাধান হতে পারে। হার্ড লিঙ্কগুলি সর্বদা একই ফাইল সিস্টেমে থাকায় সর্বদা একক চেহারাতে সমাধান করা হয় এবং নেটওয়ার্ক ল্যাটেন্সিটি কখনই জড়িত না (যদি এটি কোনও এনএফএস ফাইল সিস্টেমে একটি হার্ডলিঙ্ক হয় তবে এনএফএস সার্ভারটি রেজোলিউশনটি করবে এবং এটি অদৃশ্য হবে) ক্লায়েন্ট সিস্টেম)। কখনও কখনও এটি গুরুত্বপূর্ণ। আমার জন্য নয়, তবে আমি উচ্চ-পারফরম্যান্স সিস্টেমগুলি কল্পনা করতে পারি যেখানে এটি গুরুত্বপূর্ণ হতে পারে।

আমি এমএমএপ (2) এবং এমনকি উন্মুক্ত (2) এর মতো ফাইলগুলি ফাইলের ইনোডকে সক্রিয় রাখতে হার্ডলিঙ্কগুলির মতো একই কার্যকারিতা ব্যবহার করে যাতে ফাইলটি লিঙ্কমুক্ত (2) এড হয়ে গেলেও প্রক্রিয়াটি অব্যাহত অ্যাক্সেসের অনুমতি দেওয়ার জন্য ইনোডটি থেকে যায়, এবং কেবল একবার প্রক্রিয়াটি বন্ধ হয়ে গেলে ফাইলটি সত্যই দূরে যায়। এটি অনেক বেশি নিরাপদ অস্থায়ী ফাইলগুলির জন্য অনুমতি দেয় (যদি আপনি অ্যাটমিকভাবে ওপেন এবং লিঙ্ক সংঘটন করতে পারেন তবে এটির জন্য একটি পসিক্স এপিআই থাকতে পারে যা আমি মনে করি না, তবে আপনার কাছে সত্যিকারের একটি নিরাপদ অস্থায়ী ফাইল রয়েছে) যেখানে আপনি পড়তে / লিখতে পারবেন আপনার ডেটা অ্যাক্সেস করতে সক্ষম না হয়ে। ঠিক আছে, এটি আগে সত্য ছিল / proc প্রত্যেককে আপনার ফাইল বর্ণনাকারীর দিকে নজর দেওয়ার ক্ষমতা দিয়েছিল তবে এটি অন্য গল্প।

যার কথা বলার পরে, প্রক্রিয়া A এ খোলা একটি ফাইল পুনরুদ্ধার করা, তবে ফাইল সিস্টেমে লিঙ্কযুক্ত না থাকা ইনড লিঙ্কগুলি পুনরায় তৈরি করতে হার্ডলিঙ্কগুলি ব্যবহার করে ঘুরে বেড়ায় যাতে যে ফাইলটি খোলা আছে তা বন্ধ হয়ে যায় বা চলে যায় তখন ফাইলটি যায় না।


35

সফট লিঙ্ক :

নরম বা প্রতীক চিহ্নটি মূল ফাইলটির শর্ট কাট এর বেশি .... আপনি যদি শর্টকাটটি মুছে ফেলেন তবে শর্টকাট ব্যর্থ হয় এবং আপনি যদি শর্টকাটটি মুছুন তবে মূলটির সাথে কিছুই হয় না।

নরম লিঙ্ক সিনট্যাক্স :ln -s Pathof_Target_file link

আউটপুট: link -> ./Target_file

প্রমাণ: readlink link এছাড়াও ls -l linkআউটপুট আপনি প্রথম অক্ষর বড় দেখতে হবে lrwxrwxrwxযেমন যা লক্ষণ যে ফাইল একটি নরম লিঙ্ক।

লিঙ্কটি মোছা হচ্ছে: unlink link

দ্রষ্টব্য: আপনি যদি চান তবে আপনার সফটলিঙ্কটি বর্তমান দির থেকে অন্য কোথাও সরিয়ে যাওয়ার পরেও কাজ করতে পারে। নরম লিঙ্কটি তৈরি করার সময় আপনি নিখুঁত পথটি দিয়েছেন এবং আপেক্ষিক পাথটি দিচ্ছেন না তা নিশ্চিত করুন। উদাহরণস্বরূপ (/ root / ব্যবহারকারী / টার্গেট_ফাইল থেকে শুরু করে এবং। / টার্গেট_ফাইলে নয়)

হার্ড লিঙ্ক:

হার্ড লিঙ্কটি মিরর অনুলিপি বা একই ফাইলটিতে একাধিক পাথ। ফাইল 1-এ কিছু করুন এবং এটি ফাইল 2 এ প্রদর্শিত হবে one একটি মুছে ফেলা অন্যটিকে ঠিক রাখে।

ইনড (বা ফাইল) কেবল তখনই মুছে ফেলা হয় যখন সমস্ত (হার্ড) লিঙ্কগুলি বা (একই ফাইল) ইনোডের সমস্ত পথ মুছে ফেলা হয়।

একবার একটি হার্ড লিঙ্ক তৈরি হয়ে গেলে লিঙ্কটিতে মূল ফাইলটির ইনোড থাকে। মূল ফাইলটির নাম পরিবর্তন করা বা মুছলে মুছলে শক্ত লিঙ্কটি প্রভাবিত হবে না কারণ এটি অন্তর্নিহিত ইনোডের সাথে লিঙ্ক করে। ইনোডের ডেটাতে যে কোনও পরিবর্তন সেই ফাইলটিতে প্রতিফলিত হয় যা সেই ইনোডকে উল্লেখ করে।

হার্ড লিঙ্ক সিনট্যাক্স :ln Target_file link

আউটপুট: টার্গেটফিলের মতো একই ইনোড নম্বর দিয়ে নাম লিঙ্কযুক্ত একটি ফাইল তৈরি করা হবে।

প্রুফ: ls -i link Target_file (তাদের ইনোডগুলি পরীক্ষা করুন)

লিঙ্কটি মোছা হচ্ছে: rm -f link (সাধারণ ফাইলের মতোই লিঙ্কটি মুছুন)

দ্রষ্টব্য : সিম্বলিক লিঙ্কগুলি ফাইল সিস্টেমগুলি স্প্যান করতে পারে কারণ সেগুলি কেবল অন্য কোনও ফাইলের নাম। যেখানে হার্ড লিঙ্কগুলি কেবল একই ফাইল সিস্টেমের মধ্যে বৈধ।

প্রতীকী লিঙ্কগুলিতে কিছু বৈশিষ্ট্য রয়েছে হার্ড লিঙ্কগুলি অনুপস্থিত:

  • ফাইলের সামগ্রীতে হার্ড লিঙ্ক পয়েন্ট। সফ্ট লিঙ্কটি যখন ফাইলটির নাম দেখায়।
  • যখন হার্ড লিঙ্কের আকারটি বিষয়বস্তুর আকার হয় তবে সফ্ট লিঙ্কটি ফাইলের নাম আকার ধারণ করে।
  • হার্ড লিঙ্কগুলি একই ইনোড ভাগ করে। সফট লিঙ্কগুলি না।
  • হার্ড লিঙ্কগুলি ফাইল সিস্টেমগুলি অতিক্রম করতে পারে না। সফট লিঙ্কগুলি।
  • আপনি তাত্ক্ষণিকভাবে জানেন যেখানে প্রতীকী লিঙ্কটি হার্ড লিঙ্কগুলির সাথে ইঙ্গিত করে, একই ইনোড ভাগ করে নেওয়ার ফাইলগুলি খুঁজতে আপনাকে পুরো ফাইল সিস্টেমটি অন্বেষণ করতে হবে।

    # find / -inum 517333

    /home/bobbin/sync.sh
    /root/synchro
    
  • হার্ড-লিঙ্কগুলি ডিরেক্টরিতে নির্দেশ করতে পারে না।

হার্ড লিঙ্কগুলির দুটি সীমাবদ্ধতা রয়েছে:

  • ডিরেক্টরিগুলি হার্ড লিঙ্ক করা যায় না। ডিরেক্টরিগুলির অ্যাসাইক্লিক ট্রি কাঠামো বজায় রাখতে লিনাক্স এটিকে অনুমতি দেয় না।
  • ফাইল সিস্টেমগুলিতে একটি হার্ড লিঙ্ক তৈরি করা যায় না। উভয় ফাইলই একই ফাইল সিস্টেমে থাকতে হবে, কারণ বিভিন্ন ফাইল সিস্টেমে আলাদা আলাদা আলাদা ইনোড টেবিল থাকে (বিভিন্ন ফাইল সিস্টেমে দুটি ফাইল, তবে একই ইনোড সংখ্যার সাথে পৃথক হবে)।

3
"যখন হার্ড লিঙ্কের আকার সামগ্রীটির আকার এবং নরম লিঙ্কটি ফাইলের নামের সাথে থাকে" " কেবল স্পষ্ট করে বলার জন্য, অন্য একটি হার্ড লিঙ্ক তৈরি করা কেবল কয়েকটি বাইট দ্বারা মুক্ত স্থানকে প্রভাবিত করে।
ইঙ্গো

34

একটি হার্ড লিঙ্ক এবং একটি প্রতীকী লিঙ্কের মধ্যে পার্থক্যটি দেখার একটি সহজ উপায় হল একটি সাধারণ উদাহরণ। একটি ফাইলের একটি হার্ড লিঙ্কটি সেই স্থানটি নির্দেশ করবে যেখানে ফাইলটি সঞ্চয় করা আছে, বা সেই ফাইলটির ইনোড। একটি প্রতীকী লিঙ্কটি আসল ফাইলটিতে নিজেই নির্দেশ করবে।

সুতরাং যদি আমাদের কাছে "a" নামে একটি ফাইল থাকে এবং একটি হার্ড লিঙ্ক "বি" এবং একটি প্রতীকী লিঙ্ক "সি" তৈরি করে যা সকলেই ফাইল "এ" উল্লেখ করে:

echo "111" > a
ln a b
ln -s a c

"A", "b" এবং "c" এর আউটপুট হবে:

cat a --> 111
cat b --> 111
cat c --> 111

এখন ফাইল "ক" মুছে ফেলুন এবং দেখুন "ক", "বি" এবং "সি" এর আউটপুটটির কি হবে:

rm a
cat a --> No such file or directory
cat b --> 111
cat c --> No such file or directory

তাহলে কি হয়েছে?

কারণ ফাইল "সি" ফাইলটি "এ" নিজেই নির্দেশ করে, যদি "a" ফাইলটি মুছে ফেলা হয় তবে ফাইল "সি" ফাইলটিতে নির্দেশ করার কিছুই থাকবে না, বাস্তবে এটিও মুছে ফেলা হয়।

তবে ফাইল "বি" ফাইল "এ" ফাইলের সঞ্চয় স্থান বা ইনোডের দিকে নির্দেশ করে। সুতরাং যদি ফাইল "এ" মুছে ফেলা হয় তবে এটি আর ইনোডের দিকে নির্দেশ করবে না, তবে "বি" ফাইলটি করার ফলে ইনোডটি "এ" এর সাথে সম্পর্কিত যে কোনও বিষয়বস্তু আর কোনও হার্ড লিঙ্কগুলিতে নির্দেশ না করা অবধি সংরক্ষণ করবে।


এটি উল্লেখ করতে সহায়ক হতে পারে যে, একটি ফাইল একটি অত্যন্ত বিমূর্ত বস্তু এবং সমস্ত বিমূর্ত জিনিস সহ উচ্চ স্তরের বাস্তবায়নের আসল অভিব্যক্তি অ্যাবস্ট্রাকশনগুলি ঝুঁকিপূর্ণ ঝুঁকি ছাড়াই যথাযথ ব্যাখ্যার অভাব হতে পারে।
চোলঠি পল টিটিওপিক

28

প্রতীকী লিঙ্কগুলি একটি নামের নামের সাথে লিঙ্ক করে। এটি সিস্টেমের ফাইল গাছের যে কোনও জায়গায় থাকতে পারে এবং লিংকটি তৈরি হওয়ার পরেও উপস্থিত থাকতে হবে না। লক্ষ্য পথ আপেক্ষিক বা পরম হতে পারে।

হার্ড লিঙ্কগুলি একটি ইনোডের অতিরিক্ত পয়েন্টার, যার অর্থ কেবলমাত্র লক্ষ্য হিসাবে একই ভলিউমে থাকতে পারে। কোনও ফাইলের অতিরিক্ত হার্ড লিঙ্কগুলি কোনও ফাইলের রেফারেন্সের জন্য ব্যবহৃত "মূল" নাম থেকে পৃথক পৃথক।


এছাড়াও, আপনি লিঙ্ক করা ফাইলটি সরিয়ে ফেললে, একটি প্রতীকী লিঙ্কটি নষ্ট হয়ে যায়, একটি হার্ড লিঙ্কটি বৈধ থাকে, কারণ এটি ফাইল সিস্টেমে ফাইলটিকে "রাখে"।
njsf

21

আমি আপনাকে উইকিপিডিয়ায় নির্দেশ করব:

কয়েকটি বিষয়:

  • হার্ড লিঙ্কগুলির বিপরীতে সিমলিংকগুলি ফাইল সিস্টেমগুলি (বেশিরভাগ সময়) অতিক্রম করতে পারে।
  • সিমলিংক ডিরেক্টরিতে নির্দেশ করতে পারে।
  • হার্ড লিঙ্কগুলি একটি ফাইলকে নির্দেশ করে এবং একাধিক নামের সাথে আপনাকে একই ফাইলটিতে উল্লেখ করতে সক্ষম করে।
  • যতক্ষণ না অন্তত একটি লিঙ্ক থাকে ততক্ষণ ডেটা পাওয়া যায়।

1
তত্ত্বের (এবং কিছু ক্ষেত্রে এমনকি বাস্তবে) হার্ড লিঙ্কগুলি ডিরেক্টরিতেও নির্দেশ করতে পারে (বাস্তবে "।" বর্তমান ডিরেক্টরিতে একটি শক্ত লিঙ্ক এবং ".." পিতামাত্য ডিরেক্টরিগুলির একটি কঠিন লিঙ্ক)। তবে এগুলি বিপজ্জনক হতে পারে, তাই বেশিরভাগ ইউনিক্স তাদের অনুমতি দেয় না (বা এটি নেওয়ার জন্য আপনাকে বিশেষ পদক্ষেপ নিতে হবে)। অ্যাপল তাদের টাইম মেশিন বাস্তবায়নের জন্য তাদের ব্যবহার করে উদাহরণস্বরূপ: আর্থলিংসট.net
এসএসপি / ব্লগ / ২০০৮

3
আপনি একটি নিবন্ধের লিঙ্কে ইশারা করছেন ... এটি কি আপনাকে একটি প্রতীকী লিঙ্ক তৈরি করে?
আয়ান ক্যাম্পবেল

@ জোয়াচিমসৌয়ার আপনি কি মনে করেন যে নতুন অ্যাপল ফাইল সিস্টেম টাইম মেশিনকে ডিরেক্টরিগুলির জন্য হার্ড লিঙ্কগুলি ব্যবহার করার প্রয়োজনীয়তা দূর করবে?
সিজেএম

আমি উইকিপিডিয়া'র ব্যাখ্যাটি সেরা-রেটে দেওয়া উত্তরে ব্যাখ্যাগুলির চেয়ে উল্লেখযোগ্যভাবে খাটো এবং আরও কংক্রিট পেয়েছি।
lakesare

9

ইনক্রিমেন্টাল ব্যাকআপগুলি করার সময় হার্ড লিঙ্কগুলি খুব কার্যকর। উদাহরণস্বরূপ, আরএসএন্যাপশট দেখুন । হার্ড লিঙ্কগুলি ব্যবহার করে অনুলিপি করার ধারণাটি রয়েছে:

  • ব্যাকআপ নম্বর এন থেকে এন + 1 এ কপি করুন
  • কপি ব্যাকআপ এন - 1 থেকে এন
  • ...
  • ব্যাকআপ 0 অনুলিপি 1
  • কোনও পরিবর্তিত ফাইলের সাথে ব্যাকআপ 0 আপডেট করুন।

নতুন ব্যাকআপটি আপনি যে কোনও পরিবর্তন করেছেন সেগুলি ছাড়া কোনও অতিরিক্ত স্থান গ্রহণ করবে না, যেহেতু সমস্ত ইনক্রিমেন্টাল ব্যাকআপগুলি ফাইলগুলির জন্য একই সেট ইনোডগুলিতে নির্দেশ করবে যা কোনও পরিবর্তন হয়নি।


6

শক্ত লিঙ্ক বনাম সফট লিঙ্ক

হার্ড লিঙ্ক বনাম সফট লিঙ্কটি সহজেই এই চিত্রটি দ্বারা ব্যাখ্যা করা যেতে পারে।


5
আমার ধারণা আপনার নরম লিঙ্ক পিকটি ঠিক নেই। পয়েন্ট: নরম লিঙ্কের ইনোডটি মূল ফাইলের ইনোডে নির্দেশ করা উচিত নয়। আপনি যদি আসল ফাইলটির নাম পরিবর্তন করেন, কারণ সম্পর্কিত নরম লিঙ্কটি মারা গেছে
পেরসি 507

@ পারসি 507 হ্যাঁ আপনি ঠিক বলেছেন - তবে আমি এটি এখনও খুব সুন্দর এবং স্বজ্ঞাত ব্যাখ্যা পেয়েছি। কেবল কল্পনা করুন যে আইওনডগুলির মধ্যে তীরটি নেই ...
মাইকেল লিটভিন

5

আমি নিকের প্রশ্নটি যুক্ত করছি: হার্ড লিঙ্কগুলি কখন দরকারী বা প্রয়োজনীয়? আমার মনে একমাত্র অ্যাপ্লিকেশন আসে যা প্রতীকী লিঙ্কগুলি কাজ করবে না, একটি ক্রোয়েড পরিবেশে সিস্টেম ফাইলের একটি অনুলিপি সরবরাহ করছে।


বিভিন্ন সিস্টেমে বিভিন্ন জায়গায় সিস্টেম ডাব্লু / মাউন্ট পয়েন্ট বিতরণ। অবশ্যই, এটি সামঞ্জস্য রেখে সিস্টেমের বাইরে ডিজাইন করা যেতে পারে।
টারসন

আমি মনে করি @ টঙ্কটালাস একটি দুর্দান্ত উদাহরণ দিয়েছেন।
নিক স্টিনিমেটস

4

এমএসডিএন থেকে ,

প্রতীক লিঙ্ক

একটি প্রতীকী লিঙ্কটি একটি ফাইল-সিস্টেম অবজেক্ট যা অন্য কোনও ফাইল সিস্টেমের অবজেক্টকে নির্দেশ করে। যে বস্তুটির দিকে ইশারা করা হচ্ছে তাকে লক্ষ্য বলে।

প্রতীকী লিঙ্কগুলি ব্যবহারকারীদের কাছে স্বচ্ছ; লিঙ্কগুলি সাধারণ ফাইল বা ডিরেক্টরি হিসাবে প্রদর্শিত হয় এবং ব্যবহারকারী বা অ্যাপ্লিকেশন দ্বারা ঠিক একই পদ্ধতিতে কাজ করতে পারে।

প্রতীকী লিঙ্কগুলি ইউএনআইএক্স অপারেটিং সিস্টেমের সাথে মাইগ্রেশন এবং অ্যাপ্লিকেশনের সামঞ্জস্যের ক্ষেত্রে সহায়তা করার জন্য ডিজাইন করা হয়েছে। মাইক্রোসফ্ট ইউনিক্স লিঙ্কের মতোই কাজ করতে তার প্রতীকী লিঙ্কগুলি কার্যকর করেছে।

প্রতীকী লিঙ্কগুলি হয় নিরঙ্কুশ বা আপেক্ষিক লিঙ্ক হতে পারে। পরম লিঙ্কগুলি লিঙ্কগুলি যা পথের নামের প্রতিটি অংশ নির্দিষ্ট করে; আপেক্ষিক লিঙ্কগুলি নির্ধারিত হয় যেখানে সম্পর্কিত – লিঙ্ক নির্দিষ্টকরণ নির্দিষ্ট স্থানে থাকে to

পরম প্রতীক লিঙ্কের একটি উদাহরণ

X: "C:\alpha\beta\absLink\gamma\file"
Link: "absLink" maps to "\\machineB\share"
Modified Path: "\\machineB\share\gamma\file"

আপেক্ষিক প্রতীকী লিঙ্কগুলির একটি উদাহরণ

X: C:\alpha\beta\link\gamma\file
Link: "link" maps to "..\..\theta"
Modified Path: "C:\alpha\beta\..\..\theta\gamma\file"
Final Path: "C:\theta\gamma\file"

হার্ড লিঙ্ক

একটি হার্ড লিঙ্ক হ'ল একটি ফাইলের ফাইল সিস্টেমের প্রতিনিধিত্ব যার দ্বারা একাধিক পাথ একই ভলিউমে একটি ফাইলকে রেফারেন্স করে

উইন্ডোগুলিতে একটি হার্ড লিঙ্ক তৈরি করতে, লিংকটি তৈরি করতে হবে সেখানে যান এবং এই আদেশটি প্রবেশ করুন:

mklink /H Link_name target_path

দ্রষ্টব্য যে আপনি যে কোনও অর্ডারে তৈরি করা হয়েছে তা নির্বিশেষে হার্ড লিঙ্কগুলি যে কোনও অর্ডার মুছতে পারেন। এছাড়াও, যখন হার্ড লিঙ্কগুলি তৈরি করা যায় না

  • রেফারেন্সগুলি বিভিন্ন স্থানীয় ড্রাইভে রয়েছে
  • তথ্যসূত্রগুলির মধ্যে রয়েছে নেটওয়ার্ক ড্রাইভ। অন্য কথায়, উল্লেখগুলির মধ্যে একটি হল একটি নেটওয়ার্ক ড্রাইভ
  • তৈরি করা শক্ত লিঙ্কটি লক্ষ্য হিসাবে একই পথে

মোড়

এনটিএফএস জংশন নামক আর একটি লিঙ্ক প্রকারকে সমর্থন করে। এমএসডিএন এটি নীচে সংজ্ঞায়িত করেছে:

একটি জংশন (একটি সফট লিঙ্কও বলা হয়) একটি হার্ড লিঙ্ক থেকে পৃথক যে স্টোরেজ অবজেক্টের উল্লেখ রয়েছে এটি পৃথক ডিরেক্টরি এবং একটি জংশন একই কম্পিউটারে বিভিন্ন স্থানীয় ভলিউমে অবস্থিত ডিরেক্টরিগুলি লিঙ্ক করতে পারে । অন্যথায়, জংশনগুলি হার্ড লিঙ্কগুলিতে অভিন্নভাবে কাজ করে।

হার্ড লিঙ্ক বিভাগ এবং জংশন বিভাগের গাed় অংশগুলি উভয়ের মধ্যে মূল পার্থক্য দেখায়।

উইন্ডোতে একটি জংশন তৈরির আদেশ, লিঙ্কটি যেখানে তৈরি করা হবে সেখানে নেভিগেট করুন এবং তারপরে প্রবেশ করুন:

mklink /J link_name target_path

3

এছাড়াও:

  1. হার্ড লিঙ্কগুলির পড়ার কর্মক্ষমতা প্রতীকী লিঙ্কগুলির চেয়ে ভাল (মাইক্রো পারফরম্যান্স)
  2. প্রতীকী লিঙ্কগুলি অনুলিপি করা যেতে পারে, সংস্করণ-নিয়ন্ত্রিত, .. ইত্যাদি। অন্য কথায়, এগুলি একটি আসল ফাইল। অন্য প্রান্তে, একটি হার্ড লিঙ্কটি কিছুটা নিচু স্তরে এমন কিছু যা আপনি দেখতে পাবেন যে প্রতীকী লিঙ্কগুলির সাথে তুলনা করে, এমন কম সরঞ্জাম রয়েছে যা হার্ড লিঙ্কগুলির সাথে হার্ড লিঙ্ক হিসাবে কাজ করার উপায় সরবরাহ করে, সাধারণ ফাইল হিসাবে নয়

3

সহজভাবে, হার্ড লিঙ্ক: একটি ফাইলের মধ্যে কেবল নতুন নাম যুক্ত করা হয়, তার অর্থ, একই সময়ে একটি ফাইলের অনেকগুলি নাম থাকতে পারে, সমস্ত নাম একে অপরের সাথে সমান, কেউ পছন্দ করে না, হার্ড লিঙ্কটি সমস্ত বিষয়বস্তু অনুলিপি করা নয় ফাইলের ফাইল এবং নতুন ফাইল তৈরি করা তা নয়, এটি কেবল পরিচিত একটি বিকল্প নাম জানা যায় ..

সিম্বলিক লিঙ্ক (সিমলিংক): অন্য একটি ফাইলের জন্য একটি ফাইল পয়েন্টার, যদি প্রতীকী লিঙ্কটি কোনও বিদ্যমান ফাইলকে পরে মুছে ফেলা হয়, তবে প্রতীকী লিঙ্কটি একই ফাইলটির নাম ধরে রাখবে যদিও নামটি আর কোনও ফাইলের নাম রাখে না names


3

আপনি একটি সাধারণ "ফাইল" হিসাবে যা ভাবেন তা আসলে দুটি পৃথক জিনিস: কোনও ফাইলের ডেটা এবং ডিরেক্টরি এন্ট্রি। আপনি যখন কোনও ফাইলের জন্য একটি হার্ড লিঙ্ক তৈরি করেন, আপনি আসলে দ্বিতীয় ডিরেক্টরি এন্ট্রি তৈরি করেন যা একই তথ্যকে বোঝায়। উভয় ডিরেক্টরি এন্ট্রি ঠিক একই কার্যকারিতা আছে; এটি পড়ার জন্য প্রত্যেককেই ফাইলটি খোলার জন্য ব্যবহার করা যেতে পারে। সুতরাং আপনার কাছে "ফাইল যুক্ত একটি হার্ড লিঙ্ক" নেই, আপনার কাছে "দুটি ডিরেক্টরি এন্ট্রি সহ ফাইল ডেটা" রয়েছে। আপনি কোনও ফাইল মুছে ফেলা হিসাবে যা ভাবেন তা আসলে একটি ডিরেক্টরি এন্ট্রি মুছে দেয় এবং যখন ডেটার জন্য শেষ ডিরেক্টরি এন্ট্রি মুছে ফেলা হয়, তখন ডেটা নিজেই মুছে ফেলা হয়। কেবলমাত্র একটি ডিরেক্টরি এন্ট্রি থাকা সাধারণ ফাইলগুলির জন্য ডিরেক্টরি এন্ট্রি মোছা ডেটা বরাবরের মতো মুছে ফেলবে। (একটি ফাইল খোলার সময়, ওএস ফাইলের জন্য একটি অস্থায়ী লিঙ্ক তৈরি করে,

উদাহরণস্বরূপ, A.txt একটি ফাইল তৈরি করুন, একটি হার্ড লিঙ্ক B.txt, এবং A.txt মুছুন। আপনি A.txt তৈরি করার সময় কিছু ডেটা তৈরি হয়েছিল এবং ডিরেক্টরিতে এন্টেক্স এন্টেক্স করা হবে। আপনি যখন হার্ড লিঙ্কটি তৈরি করেছিলেন, তখন একই ডিরেক্টরিটি নির্দেশ করে অন্য ডিরেক্টরি এন্ট্রি B.txt তৈরি করা হয়েছিল। আপনি যখন A.txt মুছবেন, তখনও আপনার কাছে সমস্ত ডেটা এবং একটি একক ডিরেক্টরি এন্ট্রি B.txt থাকে ঠিক ঠিক যেন আপনি প্রথম স্থানটিতে একটি B.txt ফাইল তৈরি করেছেন।

একটি সফট লিঙ্কটি কেবলমাত্র একটি (প্রায়) সাধারণ ফাইল, এটিতে ডেটা থাকে না তবে অন্য ডিরেক্টরি প্রবেশের পথ। আপনি যদি নরম লিঙ্কটি উল্লেখ করে সেই ফাইলটি মুছে ফেলেন, তবে নরম লিঙ্কটিতে এমন একটি পথ থাকবে যা কোনও ডিরেক্টরিতে প্রবেশের নির্দেশ দেয় না; এটা ভেঙ্গে গেছে. আপনি যদি নরম লিঙ্কটি মুছে ফেলেন তবে এটি অন্য কোনও ফাইল মোছার মতো, এটি যে ফাইলটি নির্দেশ করে তা অকার্যকর।


2

একটি ডিরেক্টরি এন্ট্রি একটি কাঠামোর লিঙ্ক:

struct dentry{
    ino_t ino;
    char  name[256];
}

ইনো হ'ল ইনোডের সংখ্যা, নামটি ফাইলের নাম, ইনোড কাঠামো সম্ভবত like

struct inode{
      link_t nlink; 
      ...
}

উদাহরণস্বরূপ আপনি একটি ফাইল / 1 তৈরি করেন, ডিরেক্টরি এন্ট্রি সম্ভবত পছন্দ করে:

struct dentry{
     ino_t ino; /* such as 15 */
     char  name[256]; /* "1" */
} 

ইনোড স্ট্রাক্ট এর মতো হতে পারে:

   struct inode{ /* inode number 15 */
         link_t nlink; /* nlink = 1 */
         ...
    }

তারপরে আপনি একটি হার্ড লিঙ্ক তৈরি করতে পারেন (হতে পারে / 100), ডিরেক্টরি এন্ট্রি হতে পারে:

  struct dentry{
     ino_t ino; /* 15 */
     char  name[256]; /* 100 */
  }

ইনোড স্ট্রাক্ট এর মতো হতে পারে:

   struct inode{ /* inode numebr 15 */
         link_t nlink; /* nlink = 2 */
         ...
    }

তারপরে আপনি 1 ফাইল করতে একটি প্রতীকী লিঙ্ক তৈরি করতে পারেন (200 / হতে পারে), ডিরেক্টরি এন্ট্রি হতে পারে:

  struct dentry{
        ino_t ino; /* such as 16 */
        char  name[256]; /* "200" */
  }

ইনোড স্ট্রাক্ট এর মতো হতে পারে:

   struct inode{ /* inode number 15 */ 
         link_t nlink; /* nlink = 2 */
         ...
    }

   struct inode{ /* inode number 16 */
         link_t nlink; /* nlink = 1 */
         ...
    } /* the data of inode 16 maybe /1 or 1 */

2

উপরের সমস্ত উত্তর যুক্ত করে, হার্ডলিঙ্ক এবং সফটলিঙ্ক ফাইল অনুসন্ধানের পার্থক্যটি নীচের হিসাবে বোঝা যাবে:

আমার f6আমার বর্তমান ডিরেক্টরিতে একটি ফাইল রয়েছে, পাশাপাশি একটি ডিরেক্টরিও রয়েছে t2

ফাইলটির নাম দেওয়া হয়েছে f1এবং ./t2/f2এর প্রতীকী লিঙ্কগুলি f6

ফাইলটির নাম দেওয়া হয়েছে f7এবং ./t2/f8এর হার্ড লিঙ্কগুলি f6

নরম পাশাপাশি হার্ড লিঙ্কটি সন্ধান করতে আমরা ব্যবহার করতে পারি:

$ find -L . -samefile f6 

> ./f1
> ./f6
> ./f7
> ./t2/f2
> ./t2/f8

কেবলমাত্র হার্ডলিঙ্কটি খুঁজতে আমরা ব্যবহার করতে পারি:

$ find . -xdev -samefile f6

> ./f6
> ./f7
> ./t2/f8

যেহেতু হার্ডলিঙ্কগুলি একই ফাইল সিস্টেমে তৈরি করা যায়, তাই আমরা একই ফাইল-সিস্টেম / মাউন্ট-পয়েন্টে বিকল্প -L( -xdevবিকল্প সহ) ব্যবহার না করে সমস্ত হার্ডলিঙ্কগুলি অনুসন্ধান করতে পারি । এটি অপ্রয়োজনীয় অনুসন্ধানকে বিভিন্ন মাউন্ট পয়েন্টে সংরক্ষণ করে।

সুতরাং হার্ডলিঙ্কটি অনুসন্ধান করা কিছুটা দ্রুত এবং সফটলিঙ্কগুলি অনুসন্ধান করা (দয়া করে আমি ভুল হয়েছি বা পরিষ্কার না হলে সংশোধন করুন)।


1

প্রতীকী লিঙ্কগুলি হার্ড লিঙ্কগুলির অনুরূপ কোনও ফাইলকে অন্য একটি নাম দেয়। বাকী প্রতীকী লিঙ্কগুলি থাকা সত্ত্বেও কোনও ফাইল মোছা যায়।


না। সিমলিংকটি "একই ফাইলের অন্য নাম" নয়, এটি লক্ষ্য ফাইলের সাথে সংযোগ স্থাপন করে এটি একটি নিজস্ব ফাইল।
কুসালানন্দ

1

ব্যবহারে আমার দুটি সেন্ট:

সফট লিঙ্কগুলি দীর্ঘ পথের নামগুলি সংক্ষিপ্ত করতে ব্যবহৃত হতে পারে, যেমন:

ln -s /long/folder/name/on/long/path/file.txt /short/file.txt

করা পরিবর্তনগুলি /short/file.txtমূল ফাইলটিতে প্রয়োগ করা হবে।

বড় বড় ফাইলগুলি ঘুরে দেখার জন্য হার্ড লিঙ্কগুলি ব্যবহার করা যেতে পারে:

$ ls -lh /myapp/dev/
total 10G
-rw-r--r-- 2 root root 10G May 22 12:09 application.bin

ln /myapp/dev/application.bin /myapp/prd/application.bin

বিভিন্ন ফোল্ডারে তাত্ক্ষণিক অনুলিপি এবং মূল ফাইলটি (অন /myapp/dev) ফাইলটি স্পর্শ না করেই সরানো বা মোছা হতে পারে/myapp/prd


0

আমি একটি সাধারণ দৃশ্যে হার্ড লিঙ্কগুলি বোঝার সহজ উপায়টি পেয়েছি, সফ্টওয়্যার ইনস্টল।

একদিন আমি Downloadsইনস্টলের জন্য ফোল্ডারে একটি সফ্টওয়্যার ডাউনলোড করেছি । আমি করার পরে sudo make install, কিছু এক্সিকিউটেবল cpস্থানীয় বিন ফোল্ডারে এড করা হয়েছিল । এখানে, হার্ড লিঙ্কcp তৈরি করে । আমি সফ্টওয়্যারটি নিয়ে খুশি হয়েছিলাম তবে শীঘ্রই বুঝতে পেরেছিলাম যে দীর্ঘ সময়ের জন্য এটি ভাল জায়গা নয়। সুতরাং আমি সফ্টওয়্যার ফোল্ডার ডিরেক্টরিতে এডিট । ওয়েল, আমি উইন্ডোজ এর মতো কোনও টার্গেট লিঙ্কের জিনিস নিয়ে চিন্তা না করে আগের মতো এখনও সফটওয়্যারটি চালাতে পারি। এর অর্থ হার্ড লিঙ্কটি সরাসরি ইনোড এবং চারপাশের অন্যান্য ফাইলগুলি সন্ধান করে।Downloadsmvsource


0

এই উত্তরে আমি যখন কোনও ফাইল বলি তখন মেমরির অবস্থান বোঝায়

সংরক্ষিত সমস্ত ডেটা মেমোরিতে ইনোড নামক একটি ডেটা স্ট্রাকচার ব্যবহার করে সংরক্ষণ করা হয় প্রতিটি আইনের একটি আইওনডাম্বার থাকে The ইনোড নম্বরটি ইনোড অ্যাক্সেস করতে ব্যবহৃত হয় a কোনও ফাইলের সমস্ত হার্ড লিঙ্কের বিভিন্ন নাম থাকতে পারে তবে একই ইনোড নম্বরটি ভাগ করে নিতে পারে। যেহেতু সমস্ত হার্ড লিঙ্কগুলিতে একই ইনোডেনবার থাকে (যা একই ইনোডে প্রবেশ করে) তাই এগুলি সমস্ত একই শারীরিক স্মৃতিতে নির্দেশ করে।

একটি প্রতীকী লিঙ্কটি একটি বিশেষ ধরণের ফাইল S এটি ফাইলের পরে এটির একটি ফাইলের নাম এবং একটি ইনোড নম্বরও থাকবে Aআনোড নম্বরের উপরে যেমন একটি ইনোড প্রবেশ করে যা ডেটা দেখায় ow এখন প্রতীকী লিঙ্কটি কী বিশেষ করে তা হ'ল প্রতীকী লিঙ্কগুলিতে থাকা ইনোডিং সংখ্যাগুলি সেই আইওনডগুলিতে অ্যাক্সেস করে যা অন্য কোনও ফাইলের দিকে "পাথ" দেখায় M বিশেষত প্রতীকী লিঙ্কের ইনোড নম্বরটি সেই ইনোডগুলিকে অ্যাক্সেস করে যা অন্য হার্ড লিঙ্কে নির্দেশ করে।

আমরা যখন জিইউআই-তে কোনও ফাইল সরিয়ে, অনুলিপি করে, মুছে ফেলছি তখন আমরা ফিজিকাল মেমরির পরিবর্তে ফাইলটির হার্ডলিঙ্কগুলি নিয়ে খেলি w আমরা যখন কোনও ফাইল মুছি তখন আমরা ফাইলটির হার্ডলিঙ্কটি মোছা করছি। আমরা শারীরিক স্মৃতি মুছে ফেলছি না file যদি ফাইলের সমস্ত হার্ডলিঙ্কগুলি মুছে ফেলা হয় তবে সঞ্চিত ডেটা অ্যাক্সেস করা সম্ভব হবে না যদিও এটি মেমরিতে এখনও উপস্থিত থাকতে পারে

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