আমি হার্ডলিঙ্কগুলির ধারণাটি খুব ভালভাবে বুঝতে পেরেছি cp
এবং --- এবং এমনকি সাম্প্রতিক পসিক্স স্প্যাক্স --- এর জন্য বেশ কয়েকটি মৌলিক সরঞ্জামগুলির জন্য ম্যান পৃষ্ঠাগুলি পড়েছি । তবুও আমি নিম্নলিখিত আচরণগুলি পর্যবেক্ষণ করে অবাক হয়েছি:
$ echo john > john
$ cp -l john paul
$ echo george > george
এই মুহুর্তে john
এবং paul
একই ইনোড (এবং সামগ্রী) george
থাকবে এবং উভয় দিক থেকে পৃথক হবে। এখন আমরা করি:
$ cp george paul
এই মুহুর্তে আমি আশা george
এবং paul
বিভিন্ন inode সংখ্যার কিন্তু একই বিষয়বস্তু --- এই প্রত্যাশা পূর্ণ হয়েছিল আছে --- কিন্তু আমি আরো আশা paul
এখন থেকে একটি ভিন্ন inode সংখ্যা আছে john
, এবং john
এখনও বিষয়বস্তু আছে john
। এখানেই আমি অবাক হয়েছি। দেখা যাচ্ছে যে গন্তব্য পথে কোনও ফাইল অনুলিপি করার paul
পরেও একই ফাইলটি (একই ইনোড) অন্য সমস্ত গন্তব্য পথে শেয়ার করা paul
হয়েছে যা ইনোড ভাগ করে in আমি ভাবছিলাম cp
যা একটি নতুন ফাইল তৈরি করে এবং এটি পুরানো ফাইল দ্বারা দখল করা জায়গায় স্থানান্তরিত করে paul
। পরিবর্তে এটি যা করায় মনে হচ্ছে তা হ'ল বিদ্যমান ফাইলটি খোলার paul
, এটি কেটে ফেলা এবং লিখতেgeorge
বিদ্যমান ফাইলটিতে লিখিত সামগ্রী। সুতরাং একই ইনোডযুক্ত যে কোনও "অন্যান্য" ফাইল একই সাথে "তাদের" সামগ্রী আপডেট করে।
ঠিক আছে, এটি একটি নিয়মতান্ত্রিক আচরণ এবং এখন আমি এটির আশা করতে জানি আমি কীভাবে এটির আশেপাশে কাজ করতে পারি, বা যথাযথ হিসাবে এটির সুবিধা নিতে পারি। আমার কোথায় ধাঁধা আছে যেখানে আমার এই আচরণের নথিভুক্তি দেখার কথা ছিল? আমি ইতিমধ্যে তাকিয়েছি এমন নথিগুলিতে এটি কোথাও নথিভুক্ত না হলে আমি অবাক হব । তবে আপাতদৃষ্টিতে আমি এটি মিস করেছি এবং এখন এমন কোনও উত্স খুঁজে পাচ্ছি না যা এই আচরণটি নিয়ে আলোচনা করে।