একটি সিম্বলিক লিংক (symlink) হলো একটি ফাইল যা লিনাক্সে অন্য ফাইল বা ডিরেক্টরি (ফোল্ডার) দিকে নির্দেশ করে।
আপনি কমান্ড লাইনে ln কমান্ড ব্যবহার করে একটি সিম্বলিক লিংক তৈরি করতে পারেন।
সিম্বলিক লিংকগুলি দরকারী কারণ এগুলো ফাইল বা ডিরেক্টরির শর্টকাট হিসেবে কাজ করে।
এই আর্টিকেলে, আমি ln কমান্ড ব্যবহার করে ফাইল বা ডিরেক্টরির জন্য সিম্বলিক লিংক তৈরি করার পদ্ধতি আলোচনা করব।
লিনাক্সে সফ্ট এবং হার্ড লিংকের মধ্যে পার্থক্য কী?
একটি সফ্ট লিংক বা সিম্বলিক লিংক আপনার সিস্টেমের মূল ফাইল দিকে নির্দেশ করে। আর একটি হার্ড লিংক ফাইলের একটি কপি তৈরি করে।
সফ্ট লিংক বিভিন্ন ফাইল সিস্টেমের অন্য ফাইল বা ডিরেক্টরি দিকে নির্দেশ করতে পারে, কিন্তু হার্ড লিংক এটি করতে পারে না।
ফাইলের জন্য সিম্বলিক লিংক তৈরি করার পদ্ধতি
আপনি ম্যাকের টার্মিনাল অ্যাপ্লিকেশন বা উইন্ডোজের কমান্ড প্রম্পট ব্যবহার করে কমান্ড লাইন খুঁজে পেতে পারেন।
নিচে আপনার টার্মিনালে ফাইলের জন্য সিম্বলিক লিংক তৈরির বেসিক সিনট্যাক্স দেওয়া হলো:
ln -s existing_source_file optional_symbolic_link
আপনি ln কমান্ড ব্যবহার করে ফাইলগুলির জন্য লিংক তৈরি করেন এবং -s অপশন ব্যবহার করে নির্দেশ করেন যে এটি একটি সিম্বলিক লিংক হবে। যদি আপনি -s অপশন বাদ দেন, তবে একটি হার্ড লিংক তৈরি হবে।
existing_source_file হলো আপনার কম্পিউটারের যে ফাইলের জন্য আপনি সিম্বলিক লিংক তৈরি করতে চান।
optional_symbolic_link প্যারামিটার হলো আপনি যে সিম্বলিক লিংকের নাম দিতে চান। যদি এটি বাদ দেওয়া হয়, তবে সিস্টেম বর্তমান ডিরেক্টরিতে আপনার জন্য একটি নতুন লিংক তৈরি করবে।
আসুন একটি উদাহরণ দেখি যাতে এটি কীভাবে কাজ করে তা ভালোভাবে বুঝতে পারি।
আমার ডেস্কটপে example_fcc_file.txt নামে একটি ফাইল আছে।
আমাকে প্রথমে টার্মিনাল খুলতে হবে, তারপর নিশ্চিত করতে হবে যে আমি ডেস্কটপ ডিরেক্টরিতে আছি। আমি cd Desktop কমান্ড চালাতে পারি ডেস্কটপে নেভিগেট করার জন্য।
এই কমান্ড চালানোর পর, আপনাকে দেখাবে যে আপনি এখন ডেস্কটপে আছেন।
jessicawilkins@Dedrias-MacBook-Pro-2 ~ % cd Desktop jessicawilkins@Dedrias-MacBook-Pro-2 Desktop %
তারপর আমি ln কমান্ড ব্যবহার করে fcc_link.txt নামে একটি নতুন সিম্বলিক লিংক তৈরি করতে পারি।
ln -s example_fcc_file.txt fcc_link.txt
আপনি যখন টার্মিনালে এই কমান্ডটি চালাবেন, তখন দেখবেন কোনো আউটপুট ফেরত আসেনি। এর কারণ হল ln কমান্ড সফল হলে কোনো আউটপুট দেখায় না এবং শূন্য রিটার্ন করে।
jessicawilkins@Dedrias-MacBook-Pro-2 Desktop % ln -s example_fcc_file.txt fcc_link.txt jessicawilkins@Dedrias-MacBook-Pro-2 Desktop %
আপনার সিম্বলিক লিংক সফলভাবে তৈরি হয়েছে কিনা তা যাচাই করতে আপনি ls কমান্ড ব্যবহার করতে পারেন। ls কমান্ড ফাইল সম্পর্কে তথ্য লিস্ট করে এবং -l ফ্ল্যাগ সিম্বলিক লিংককে প্রকাশ করে।
ls -l fcc_link.txt
এই কমান্ডটি চালালে আপনি টার্মিনালে নিচের মতো ফলাফল দেখতে পাবেন।
lrwxr-xr-x 1 jessicawilkins staff 20 Feb 19 19:56 fcc_link.txt -> example_fcc_file.txt
আউটপুটের fcc_link.txt -> example_fcc_file.txt অংশটি দেখায় যে সিম্বলিক লিংকটি example_fcc_file.txt নামে ফাইলের দিকে নির্দেশ করছে।
আপনার ডিরেক্টরিতে সেই নতুন সিম্বলিক লিংকটি দেখতে পাবেন।
ডিরেক্টরির জন্য সিম্বলিক লিংক তৈরি করার পদ্ধতি
এই উদাহরণে, আমরা my_music নামে একটি সিম্বলিক লিংক তৈরি করব যা আমার কম্পিউটারের হোম ডিরেক্টরিতে থাকা Music ফোল্ডারের দিকে নির্দেশ করবে।
প্রথমে, নিশ্চিত করুন যে আপনি হোম ডিরেক্টরিতে আছেন। কমান্ড লাইনে হোম ডিরেক্টরিতে ফিরে যেতে আপনি cd চালাতে পারেন।
jessicawilkins@Dedrias-MacBook-Pro-2 Desktop % cd jessicawilkins@Dedrias-MacBook-Pro-2 ~ %
তারপর ln কমান্ড ব্যবহার করে Music ডিরেক্টরির জন্য একটি সিম্বলিক লিংক তৈরি করুন।
ln -s /Users/jessicawilkins/Music ~/my_music
যদি সফল হয়, তবে আপনি হোম ডিরেক্টরিতে তা দেখতে পাবেন।
সিম্বলিক লিংক মুছে ফেলার পদ্ধতি
সিম্বলিক লিংক মুছে ফেলতে আপনি unlink বা rm কমান্ড ব্যবহার করতে পারেন।
যদি আমরা আগে তৈরি করা fcc_link.txt সিম্বলিক লিংকটি মুছে ফেলতে চাই, তবে আমরা এই দুটি কমান্ডের যেকোনো একটি ব্যবহার করতে পারি:
rm fcc_link.txt
unlink fcc_link.txt
এখন আমরা দেখতে পাবেন যে সিম্বলিক লিংকটি আমাদের ডিরেক্টরি থেকে মুছে গেছে।
সিম্বলিক লিংক ওভাররাইট করার পদ্ধতি
যদি আমরা fcc_link.txt নামে একটি নতুন সিম্বলিক লিংক তৈরি করার চেষ্টা করি, তবে এরর হবে কারণ এটি ইতিমধ্যে ব্যবহার করা হচ্ছে এবং অন্য একটি ফাইলের দিকে নির্দেশ করছে।
ln: fcc_link.txt: File exists
আপনি ফোর্স (-f) অপশন ব্যবহার করে এই এররটি ওভাররাইট করতে পারেন।
ln -sf example_fcc_file.txt fcc_link.txt
ln কমান্ড সম্পর্কে আরও জানার পদ্ধতি
যদি আপনি ln কমান্ড সম্পর্কে আরও জানতে চান, তবে আপনি ম্যান পেজেস (লিনাক্স কমান্ড ব্যবহারের ম্যানুয়াল) এ তা পড়তে পারেন।
আপনার টার্মিনালে man ln চালান এবং আপনাকে ln কমান্ডের ম্যান পেজেস দেখতে মিলবে।
LN(1) BSD General Commands Manual LN(1) NAME link, ln -- make links SYNOPSIS ln [-Ffhinsv] source_file [target_file] ln [-Ffhinsv] source_file ... target_dir link source_file target_file DESCRIPTION The ln utility creates a new directory entry (linked file) which has the same modes as the original file. It is useful for maintaining multiple copies of a file in many places at once without using up storage for the ``copies''; instead, a link ``points'' to the original copy. There are two types of links; hard links and sym- bolic links. How a link ``points'' to a file is one of the differences between a hard and symbolic link. The options are as follows: -F If the target file already exists and is a directory, then remove it so that the link may occur. The -F option should be used with either -f or -i options. If none is specified, -f is implied. The -F option is a no-op unless -s option is specified. -h If the target_file or target_dir is a symbolic link, do not follow it. This is most useful with the -f option, to replace a symlink which may point to a directory. -f If the target file already exists, then unlink it so that the link may occur. (The -f option overrides
উপসংহার
একটি সিম্বলিক লিংক (symlink) হলো একটি ফাইল যা লিনাক্সে অন্য ফাইল বা ডিরেক্টরি (ফোল্ডার) দিকে নির্দেশ করে। আপনি কমান্ড লাইনে ln কমান্ড ব্যবহার করে একটি সিম্বলিক লিংক তৈরি করতে পারেন।
সিম্বলিক লিংকগুলি দরকারী কারণ এগুলো ফাইল বা ডিরেক্টরির শর্টকাট হিসেবে কাজ করে।
টার্মিনাল ব্যবহার করে ফাইলের জন্য সিম্বলিক লিংক তৈরির বেসিক সিনট্যাক্স:
ln -s existing_source_file optional_symbolic_link
টার্মিনাল ব্যবহার করে ডিরেক্টরির জন্য সিম্বলিক লিংক তৈরির বেসিক সিনট্যাক্স:
ln -s path_to_existing_directory name_of_symbolic_link
সিম্বলিক লিংক মুছে ফেলতে আপনি unlink বা rm কমান্ড ব্যবহার করতে পারেন:
rm name_of_symbolic_link
unlink name_of_symbolic_link
যদি আপনাকে একটি সিম্বলিক লিংক মুছে ফেলতে হয় তবে আপনি এই কমান্ডটি ব্যবহার করতে পারেন:
ln -sf path_to_existing_directory name_of_symbolic_link
আশা করি আপনি সিম্বলিক লিংক সম্পর্কে এই আর্টিকেলটি উপভোগ করেছেন এবং আপনার প্রোগ্রামিং যাত্রার জন্য শুভকামনা।