ইউনিক্স-শৈলী সিস্টেম ইন, ডাটা স্ট্রাকচার যা প্রতিনিধিত্ব ফাইলসিস্টেম বস্তু (অন্য কথায়, ডাটা সম্পর্কে একটি ফাইল), কি একটি "inode" বলা হয় মধ্যে সংরক্ষিত হয়।
একটি ফাইলের নাম এই ইনোডের কেবল একটি লিঙ্ক, এবং এটি একটি "হার্ড লিঙ্ক" হিসাবে উল্লেখ করা হয়। কোনও ফাইল দেওয়া প্রথম নাম এবং পরবর্তী কোনও লিঙ্কের মধ্যে কোনও পার্থক্য নেই। সুতরাং উত্তরটি হ'ল "হ্যাঁ": একটি হার্ড লিঙ্ক একটি নিয়মিত ফাইল এবং সত্যই, একটি নিয়মিত ফাইল একটি হার্ড লিঙ্ক।
ls
কমান্ড কত কঠিন সংযোগগুলি সেখানে ফাইলে আপনি প্রদর্শন করবে।
উদাহরণ স্বরূপ:
seumasmac@comp:~$ echo Hello > /tmp/hello.txt
seumasmac@comp:~$ ls -l /tmp/hello.txt
-rw-rw-r-- 1 seumasmac seumasmac 6 Oct 4 13:05 /tmp/hello.txt
এখানে আমরা একটি ফাইল তৈরি করেছি /tmp/hello.txt
। 1
থেকে আউটপুটে ls -l
ইঙ্গিত আছে যে এই ফাইলে 1 হার্ড লিঙ্ক। এই হার্ড লিঙ্কটি নিজেই ফাইলের নাম /tmp/hello.txt
।
আমরা যদি এখন এই ফাইলটির অন্য একটি হার্ড লিঙ্ক তৈরি করি:
seumasmac@comp:~$ ln /tmp/hello.txt /tmp/helloagain.txt
seumasmac@comp:~$ ls -l /tmp/hello*
-rw-rw-r-- 2 seumasmac seumasmac 6 Oct 4 13:05 /tmp/helloagain.txt
-rw-rw-r-- 2 seumasmac seumasmac 6 Oct 4 13:05 /tmp/hello.txt
আপনি এখন দেখতে পাচ্ছেন যে দুটি ফাইলের নামই ফাইলটিতে দু'টি শক্ত লিঙ্ক রয়েছে indicate এগুলির কোনওটিই "যথাযথ" ফাইলের নাম নয়, এগুলি উভয়ই সমানভাবে বৈধ। আমরা দেখতে পাচ্ছি যে তারা উভয়ই একই ইনোডের দিকে ইঙ্গিত করছে (এই ক্ষেত্রে, 5374043):
seumasmac@comp:~$ ls -i /tmp/hello*
5374043 /tmp/helloagain.txt 5374043 /tmp/hello.txt
একটি সাধারণ ভুল ধারণা রয়েছে যে ডিরেক্টরিগুলির জন্য এটি আলাদা। আমি লোকেদের বলতে শুনেছি যে ls
কোনও ডিরেক্টরিতে ফিরে আসা লিঙ্কের সংখ্যা হ'ল সাব ডাইরেক্টরিগুলির সংখ্যা, .
এবং ..
যা ভুল । অথবা, কমপক্ষে, যখন এটি আপনাকে সঠিক সংখ্যা দেবে, ভুল কারণে এটি সঠিক!
যদি আমরা একটি ডিরেক্টরি তৈরি করি এবং একটি ls -ld
করি তবে:
seumasmac@comp:~$ mkdir /tmp/testdir
seumasmac@comp:~$ ls -ld /tmp/testdir
drwxrwxr-x 2 seumasmac seumasmac 4096 Oct 4 13:20 /tmp/testdir
এটি দেখায় যে এই ডিরেক্টরিতে 2 টি হার্ড লিঙ্ক রয়েছে। এইগুলো:
/tmp/testdir
/tmp/testdir/.
লক্ষ্য করুন /tmp/testdir/..
হয় না এই ডিরেক্টরিতে একটি লিঙ্ক, এটি একটি লিঙ্ক /tmp
। এবং এটি আপনাকে বলে যে "উপ-ডিরেক্টরিগুলির সংখ্যা" জিনিস কেন কাজ করে। যখন আমরা একটি নতুন উপ-ডিরেক্টরি তৈরি করি:
seumasmac@comp:~$ mkdir /tmp/testdir/dir2
seumasmac@comp:~$ ls -ld /tmp/testdir
drwxrwxr-x 3 seumasmac seumasmac 4096 Oct 4 13:24 /tmp/testdir
আপনি এখন /tmp/testdir
ডিরেক্টরিতে 3 টি سخت লিঙ্ক দেখতে পাচ্ছেন । এইগুলো:
/tmp/testdir
/tmp/testdir/.
/tmp/testdir/dir2/..
সুতরাং প্রতিটি নতুন উপ ডিরেক্টরি ডিরেক্টরি লিঙ্কের গণনা এক এক করে বাড়িয়ে দেবে কারণ ..
এতে এন্ট্রি রয়েছে।