কম্পিউটার টিউটোরিয়াল

লিনাক্সে সফট লিংক এবং হার্ড লিংকের পার্থক্য বোঝা

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

সফট vs হার্ড লিংক

একটি সফট লিংক, বা সিমলিংক, শুধু একটি সিম্বলিক লিংক। এটি সিম্পলি টার্গেট ফাইলপাথের একটি পয়েন্টার। একটি সফট লিংক এই বিষয়ে কƏর নয় যে ফাইলপাথে ফাইল বা ফোল্ডার রিয়েলি এক্সিস্ট করে কিনা। যদি ফাইল বা ফোল্ডার অস্তিত্বে না থাকে, তবে এটি শুধু একটি ব্রোকেন সিমলিংক রেজাল্ট করবে। আপনি সিমলিংক এডিট বা ডিলিট করতে পারেন, এবং এটি টার্গেট ফাইলকে প্রভাবিত করবে না।

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

নিচে আমরা ইলাস্ট্রেট করব সফট এবং হার্ড লিংক কীভাবে কাজ করে।

সফট লিংক একশনে

ধরুন, "first_file.txt" নামে একটি ফাইল রয়েছে যেটে চার লাইন টেক্সট আছে।

আমরা আমাদের হোম ডিরেক্টরিতে একটি সফট লিংক তৈরি করব।

ln -s first_file.txt ~/sl-firstfile.txt

GNOME ডেস্কটপ এনভায়রনমেন্টে, একটি ফাইলের জন্য সফট লিংক তৈরি করা যেতে পারে সিম্পলি ফাইলটি ডান ক্লিক করে "Create Link" সিলেক্ট করে। একটি সফট লিংক তৈরি হয় যেখানে নামটি "Link to .txt" এর মতো হয়।

আমরা যদি "sl-firstfile.txt"-র কন্টেন্ট দেখতে চাই, তবে আমরা দেখি এটি "first_file.txt"-এর মতোই।

আমরা যদি এই দুটি ফাইল ফাইল ম্যানেজারে দেখি, তবে সফট লিংকটি মূল ফাইলের একটি শর্টকাট হিসেবে প্রদর্শিত হয়। ফাইলের আইকনে কালো তীর চিহ্নটি এটিকে বোঝায়।

আমরা যখন করেন্ট ডিরেক্টরির লিস্টিং ls -l কমান্ড দিয়ে দেখতে চাই, তবে আপনি দেখতে পাবেন সফট লিংকটি কীভাবে টার্গেট ফাইলটিকে পয়েন্ট করছে। "sl-firstfile.txt"-র পারমিশন স্ট্রিং-এর প্রথম ক্যারেক্টার "l", যা মানে এই এন্ট্রিটি একটি লিংকের জন্য।

সফট লিংকের ডিলিশন বিহেভিয়র

টার্গেট ফাইল ডিলিট হলে, সফট লিংকটি এখনো থাকবে।

তবে, এটি একটি "ড্যাঙ্গলিং" বা "ব্রোকেন" লিংক হয়ে যায় এবং অনুপযোগী হয়ে যায়।

এখন, আপনি যদি একই নাম—"first_file.txt"—দিয়ে আরেকটি ফাইল তৈরি করেন, তবে সফট লিংকটি আবার এক্টিভ হয়ে যাবে।

নোট: যদি আপনি সফট লিংকসামনে আসেন এবং লিংকটি যেই ফাইলের জন্য তৈরি হয়েছে তার অবসোলিউট পাথ খুঁজতে চান, তবে সিম্পলি readlink কমান্ডটি নিচের মত ব্যবহার করুন।

এই কমান্ডের আউটপুট হবে মূল ফাইলের অবসোলিউট পাথ।

হার্ড লিংক একশনে

এখন আমরা একই ফাইলের জন্য আমাদের হোম ডিরেক্টরিতে একটি হার্ড লিংক তৈরি করব। এটি নিচের কমান্ড দিয়ে করা যায়:

ln first_file.txt hl-first-file.txt

নোট: সফট এবং হার্ড লিংক তৈরি করার মেথড দুটোই ln কমান্ড ব্যবহার করে। একমাত্র পার্থক্য হলো -s ফ্ল্যাগ যা সিম্বলিক লিংক ডিনোট করে।

হার্ড লিংক তৈরি করার আরেকটি উপায় হলো link কমান্ড ব্যবহার করা।

link hl-firstfile.txt hl2-firstfile.txt

দুই ফাইল চেক করলে দেখতে পাবেন তাদের কন্টেন্ট একই।

GUI-তে, দুটি ফাইল আলাদা এন্টিটি হিসেবে প্রদর্শিত হয়। হার্ড লিংকের অস্তিত্ব সম্পর্কে কোনো ইন্ডিকেশন নেই।

আমরা হার্ড লিংক ফাইল "hl-firstfile.txt"-এ একটি নতুন লাইন যোগ করার চেষ্টা করি।

echo "hello" >> hl-first-file.txt

ডেটা পরিবর্তন দুটি ফাইলে দেখা যায়।

যখন একটি হার্ড লিংক তৈরি হয়, ऐसा লাগে যেন দুটি আলাদা ফাইল রয়েছে, কিন্তু তাদের ডেটা লিংকড থাকে। একটিতে পরিবর্তন অন্যটিতে রিফলেক্ট হয়।

কুইক টিপ: সফট লিংক এবং হার্ড লিংক তৈরি করার সময়, লিংক যে ফাইলের জন্য তৈরি করা হচ্ছে সেটির মতো এক্সটেনশন ব্যবহার করা ভালো Idee।

হার্ড লিংকের ডিলিশন বিহেভিয়র

হার্ড লিংকের জন্য, মূল ফাইল বা হার্ড লিংক ডিলিট করা চিন্তার বিষয় নয়। ফাইলে আসলভাবে সংরক্ষিত ডেটা হার্ড লিংকের মাধ্যমে এখনো অ্যাক্সেসযোগ্য।

সফট লিংক কখন উপকারী?

আমরা লক্ষ্য করলাম সফট লিংক ফাইলের জন্য শর্টকাট হিসেবে প্রদর্শিত হয়। যখন আমাদের একাধিক লেয়ারের ডিরেক্টরির ভিতরে একটি ফাইল রয়েছে এবং সেটিকে সহজ অ্যাক্সেসের জন্য একটি লোকেশনে স্টোর করতে চাই, তবে একটি ভালো অপশন হবে সেটির জন্য একটি শর্ট লিংক তৈরি করা।

হার্ড লিংক কখন উপকারী?

আমরা দেখেছি একবার একটি ফাইলের জন্য হার্ড লিংক তৈরি হলে, ফাইল বা হার্ড লিংক যেকোনো পরিবর্তন দুটি তেও রিফলেক্ট হয়।

ধরুন, আপনার একটি ব্যাকআপ সার্ভার রয়েছে। একটি ইনক্রিমেন্টাল ব্যাকআপ মেকানিজম ব্যবহার করা হয় যেখানে শুধু লাস্ট ব্যাকআপ از শেষে ফাইল/ফোল্ডার পরিবর্তনগুলো রিফলেক্ট হয়। আপনি সার্ভারের একটি ফাইল এবং কম্পিউটারের відповার্ত কপির মধ্যে একটি হার্ড লিংক তৈরি করতে পারেন। যখন ব্যাকআপ হবে, কম্পিউটারের ফাইলে পরিবর্তনগুলো অটোমেটিক্যালি সার্ভারের সংশ্লিষ্ট হার্ড-লিংকড ফাইলে রিফলেক্ট হয়ে যাবে, এমনকি যদি ফাইলগুলো নাম পরিবর্তন করে।

উপসংহার

সফট এবং হার্ড লিংক দুটির নিজস্ব ব্যবহার রয়েছে এবং ভিন্ন সিচুয়েশনে ব্যবহার করা উচিত। তাদের পার্থক্য বোঝা আপনাকে লিংক তৈরি করার সময় আরও ভালো ডিসিশন নেওয়াতে সাহায্য করে। সফট লিংক এবং হার্ড লিংক ডিরেক্টরির জন্যও তৈরি করা যায়। যährend সফট লিংক ফাইলসিস্টেমের পাশাপাশি তৈরি করা যায়, হার্ড লিংক শুধু একই ফাইলসিস্টেমের ভিতরে তৈরি করা যায়।

  1. বিটকয়িন এবং ইথারিয়ামের পার্থক্য

  2. প্রক্সি এবং VPN-এর পার্থক্য বুঝুন

  3. রুবি আউটপুট বেসিকস: puts, print এবং p-এর মধ্যে নির্বাচন

  4. উইন্ডোজ ১০ বনাম উইন্ডোজ ১১: মূল পার্থক্য ও আপনার জন্য কোনটি সঠিক