আপনি হার্ড লিঙ্ক (গুলি) এর সাথে একটি ফাইলকে "লিঙ্ক গণনা" দিয়ে একটি হার্ড-লিংকযুক্ত ফাইল থেকে আলাদা করতে পারবেন। কমান্ড লাইন থেকে এটি পাওয়ার দুটি উপায় আমি দেখতে পাচ্ছি:
% stat original
File: ‘original’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 804h/2052d Inode: 932815 Links: 2
Access: (0644/-rw-r--r--) Uid: ( 500/ bediger) Gid: ( 1000/ bediger)
Access: 2012-07-13 22:13:52.317101530 -0600
Modify: 2012-07-13 22:13:52.317101530 -0600
Change: 2012-07-13 22:14:08.050894536 -0600
Birth: -
অথবা
1010 % ls -li
total 0
932815 -rw-r--r-- 2 bediger bediger 0 Jul 13 22:13 original
932815 -rw-r--r-- 2 bediger bediger 0 Jul 13 22:13 secondary
"বেডিজার" এর আগে সেই নিঃসঙ্গ '2' হ'ল লিঙ্ক গণনা। নোট করুন যে উভয় ফাইলের নামের 932815 একই ইনড নম্বর রয়েছে।
আমি নিশ্চিত যে এই দুটি কমান্ডই স্ট্রাক্ট স্ট্যাটের st_nlink ক্ষেত্র থেকে লিঙ্ক গণনা পাবে, যা একটি stat()
সিস্টেম কল দ্বারা পূরণ হয়ে যায় ।
কাছাকাছি হিসাবে আমি বলতে পারেন, দৌড়ানো tar
সঙ্গে --hard-dereference
উপায়ে পরিবর্তে দুটি স্বতন্ত্র ফাইলের নামের সঙ্গে একটি একক ফাইল পেয়ে (উপরে উদাহরণ হিসাবে), আপনি একটি একক ফাইলের নাম দুটি ফাইলের প্রতিটি পেতে। tar
সম্ভবত প্রতিটি ফাইলের লিঙ্ক গণনা পরীক্ষা করে, এবং ডিফল্টরূপে বের করার সময়, এটি হার্ড-লিঙ্কযুক্ত ফাইল ডেটার জন্য থাকা দ্বিতীয় ফাইলনামে একটি হার্ড লিঙ্ক তৈরি করে। যখন --hard-dereference
সংরক্ষণাগার তৈরির সাথে ডাকা হয় , এটি দ্বিতীয় ফাইলের নামের জন্য সম্পূর্ণ নতুন ফাইলটি তৈরি করতে দেখা যায় যখন রানগুলির নিষ্কাশন প্রার্থনা tar
।