হার্ড লিঙ্ক তৈরি করা কখন কার্যকর হবে?


11

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

  1. হার্ড লিঙ্কগুলির জন্য সাধারণত লিঙ্ক এবং ফাইলটি একই ফাইল সিস্টেমে থাকা প্রয়োজন।
  2. কেবল সুপারইসার একটি ডিরেক্টরিতে একটি হার্ড লিঙ্ক তৈরি করতে পারে।

সুতরাং, হার্ড লিঙ্কগুলির সীমাবদ্ধতাটি পেতে প্রতীকী লিঙ্কগুলি চালু করা হয়েছিল। সুতরাং, প্রশ্নটি হল, এখনও কি হার্ড লিঙ্কগুলি দরকার? তারা আরও দরকারী যেখানে এমন পরিস্থিতি থাকতে পারে?


3
1) Symlinks কিছু HTTP- র সার্ভার 2) হার্ড সংযোগগুলি ব্যাকআপ 3) আপনি অন্যদের প্রভাবিত না করেই chroots 4) আপনি একটি হার্ড লিঙ্কের কোনো সংস্করণ মুছে দিতে পারেন মধ্যে UNIX সকেট শেয়ার করতে পারেন ব্যবহার করা যেতে পারে দ্বারা অনুসরণ করা হয় না
Dietrich অনির্ণীত EPP

এইচটিটিপি সার্ভারগুলি কি কোনও হার্ডলিঙ্ক ব্যবহার করতে পারে যা একটি সিমলিংকে নির্দেশ করে? , বা আমি কি বাজে কথা বলছি?
আড়ানা 21

উত্তর:


11

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


1
অথবা এক একটি প্রোগ্রাম থাকতে পারে এক থেকে তিন নাম দ্বারা ডাকা করতে চান gzip, gunzipএবং zcat
জেডিবিপি

8

সমস্ত হার্ড লিঙ্কগুলি (হ্যাঁ, সমস্ত ফাইলের নাম হার্ড লিঙ্ক, এমনকি প্রথম) মুছে ফেলা এবং ফাইলটি বন্ধ না হওয়া পর্যন্ত কোনও ফাইলের বিষয়বস্তু মুছে ফেলা হবে না। যেমনটি, যখন একাধিক স্থানে কোনও ফাইলের প্রয়োজন হয় তখন এটি কার্যকর হতে পারে তবে এগুলির যে কোনও সময় থেকে যেকোন সময় মুছে ফেলা হতে পারে, যেমন ~/Downloads/coolsong.mp3এবং এর মধ্যে ~/Music/Cool Song.mp3


3
এটাই সঠিক. আমার ক্লিন মুভি ফোল্ডারে সঠিক নামযুক্ত ফাইল রাখার সময় আমি টরেন্ট বপন করতে এটি ব্যবহার করি। যে ফাইলগুলি বীজ করা হচ্ছে সেগুলি সরানো এবং পুনরায় নামকরণের চেয়ে এটি অনেক সহজ and কাউচ আলুও এটি করে।
নিকোলাস Buliane

1

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


দুর্দান্ত পয়েন্ট। সোলারিসে, কেউ সিমলিংক ব্যবহার করে লুপ তৈরি করতে পারে, যার প্রক্রিয়াজাতকরণ আরও মজাদার :-)

1

হার্ড-লিঙ্কগুলির বেশ কয়েকটি কারণ রয়েছে

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

সুতরাং হার্ড-লিঙ্কগুলি ব্যবহার করার একটি কারণ হ'ল সম্ভবত প্রচুর স্থান সংরক্ষণ করা ...

আপনি যে কোনও একটি রেফারেন্সে যুক্ত করতে পারেন এবং ডেটা ভাগ করা ফাইলের মধ্যে যায়। অপরটি পড়ার সময় আপনি একটি ফাইল বর্ণনাকারীর সাথে সংযুক্ত করতে পারেন (যেমন টেল -f সহ)


0

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

হার্ড লিঙ্কগুলি যেখানে সত্যই সহায়ক তার একটি দুর্দান্ত উদাহরণ হ'ল ব্যাকআপ সফ্টওয়্যার দিরভিশ :

দিরভিশ একটি দ্রুত, ডিস্ক ভিত্তিক, ঘোরানো নেটওয়ার্ক ব্যাকআপ সিস্টেম।

অবিশ্বাস্যর সাহায্যে আপনি আপনার ফাইল সিস্টেমের সম্পূর্ণ চিত্রের সেটকে অযৌক্তিক সৃষ্টি এবং মেয়াদোত্তীর্ণের সাথে বজায় রাখতে পারেন। একটি ডেরিভ ব্যাকআপ ভল্টটি আপনার ডেটার জন্য টাইম মেশিনের মতো।

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

কৌশলটি হ'ল যদি নির্বীজ সনাক্ত করে যে আপনি যে গাছটি সংরক্ষণ করছেন তার পুরাতন ব্যাকআপ অনুলিপিটি পুরানো গাছের ফাইলটিতে একটি নতুন লিঙ্কে একটি হার্ড লিঙ্ক তৈরি করে পরিবর্তিত হয়নি এমন ফাইলগুলি স্বয়ংক্রিয়ভাবে পুনরায় ব্যবহার করবে।

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

এটি কেবলমাত্র সম্ভব কারণ হার্ড লিঙ্কগুলি ব্যবহারকারী স্পেস সরঞ্জামগুলির জন্য সম্পূর্ণ স্বচ্ছ।

এটি সম্ভবত প্রতীকী লিঙ্কগুলির সাথেও কাজ করবে (যদিও প্রতীকী লিঙ্কগুলি নিজেই ব্যবহার করে এমন ডেটা ব্যাকআপ করার সময় আপনি সমস্যা পেতে পারেন), তবে হার্ড লিঙ্কগুলির সাহায্যে কেবল একটি সুবিধা সম্ভব:

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


আরএসএন্যাপশটের মতো শোনাচ্ছে।
ইগনাসিও ওয়াজকেজ-আব্রামস

0

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

যদি আপনি কোনও কারণে ভবিষ্যতে ব্যবহারের জন্য সেই টার্বলটিকে সংরক্ষণ করতে চান ln /tmp/tarball.tgz ~তবে টার্বলটি ডাউনলোড করার সময় সবচেয়ে ভাল উপায় । তাহলে আপনার কিছু করার দরকার নেই।

ডাউনলোড শেষ হয়ে গেলে এবং আপনার প্রোগ্রামটি 'আসল' মুছে ফেলার পরেও সঠিক কপিটি আপনার হোম ডিরেক্টরিতে থাকা উচিত।


0

আমি আমার কিছু 'হাওটোস' এবং স্নিপেটের ব্যাকআপ নিতে 'হার্ড লিঙ্কগুলি' ব্যবহার করি

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

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

হার্ড লিঙ্কের সাহায্যে আমি 'ভাগ করে নেওয়া ডক্স' ডিরেক্টরিটি অনুলিপি করতে, ছাঁটাই করতে, রিসাইঙ্ক করতে পারি এবং প্রকৃতপক্ষে সেই বিস্তৃত নথিগুলিকে আত্মবিশ্বাসের সাথে ব্যাকআপ করতে পারি, সামগ্রীটি আসলে ব্যাক আপ হয়ে যায়। এটি সত্যিই আমার জন্য চুষে নেওয়া হয়েছে, যখন আমি বুঝতে পেরেছিলাম যে আমি 0 টি দংশনের 'লিংক ফাইলগুলি' এবং তথ্য নয় bac

'হার্ড লিঙ্কস' ব্যবহারের নেতিবাচক দিকটি হ'ল ডিরেক্টরিতে ls করা আপনাকে কোনও ইঙ্গিত দেয় না যে কোনও ফাইল অন্য ফাইলের সাথে 'লিঙ্কযুক্ত' আছে বা যেখানে ফাইলটি সহ-বিদ্যমান থাকতে পারে। এগুলি সন্ধান করার উপায় রয়েছে, তবে আমি বলছি যে এটি কোনও সাধারণ ls -l -> পয়েন্টগুলিতে স্পষ্ট নয় ... সুতরাং, আমি সাধারণত নথির শুরুতে একটি নোট যোগ করি যা এই ফাইলটি / ফাইলগুলি নির্দেশ করে ' 'এর সাথে' ভাগ 'করা হয়

Landis একটি।

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