প্যাট্রিকের কম-বেশি সঠিক রয়েছে তবে এটি এখানে। আপনি ইউনিক্সের অধীনে কোনও ফাইল অনুলিপি করার উপায় এইভাবে কাজ করে:
- কিছু (আরও) বাইট পড়ার চেষ্টা করুন
fileA
।
- যদি আমরা বাইটস পেতে ব্যর্থ হয়ে থাকি কারণ আমরা ফাইলটির শেষের দিকে (বা অতীত) হয়েছি, আমরা শেষ করেছি; ত্যাগ করুন।
- অন্যথায়, বাইটগুলি লিখুন
fileB
এবং পদক্ষেপ 1 এ ফিরে লুপ করুন।
এটি জানা এবং এটি এতটা সহজ হিসাবে জানা, আমাদের কয়েকটি কর্নার কেস দেখতে দিন।
ফাইলটি শেষ হওয়ার সাথে সাথে অনুলিপিটি সম্পন্ন করা হবে। সুতরাং আসুন আমরা বলি যে অনুলিপি চলাকালীন আমাদের ফাইলটি বাড়ছে, তবে আমরা অনুলিপি করার চেয়ে ধীরে ধীরে বাড়ছে। অনুলিপি প্রোগ্রামটি মূল ফাইলের আকারটি ছাড়িয়ে যাবে, কারণ এটি উপস্থিত হওয়ার সাথে সাথে ফাইলটিতে আরও অনেক কিছু রয়েছে। তবে কোনও এক সময় এটি ফাইলের শেষের সাথে ধরা পড়ে এবং এটি শেষের দিকেই জানে কারণ এখনই এটি আর কোনও বাইট পড়তে পারে না । সুতরাং ফাইলটি আরও বাড়তে চলেছে এমনকী এটি ঠিক সেখানেই প্রস্থান করে।
যদি ফাইলটি কেটে ফেলা হয় তবে অনুলিপি প্রোগ্রামটি বলছে "ওহ, আমি ফাইলটির শেষের দিক দিয়ে এসেছি!" এবং প্রস্থান।
এবং যদি ফাইলের টুকরোগুলি এলোমেলোভাবে আপডেট করা হয়, বলুন, একটি ডাটাবেস প্রোগ্রাম :-), তবে আপনার অনুলিপিটি পুরানো এবং নতুন ডেটার কিছুটা মিশ্রণ হতে চলেছে, কারণ তথ্য একই সাথে সমস্ত অনুলিপি করা হয় নি। ফলাফলটি সম্ভবত একটি দুর্নীতিগ্রস্থ অনুলিপি হবে, এ কারণেই সাধারণত লাইভ ডাটাবেসের অনুলিপি তৈরি করা ভাল ধারণা নয়।
(এটি বলেছিল, আমি কাউচডিবি-র সাথে পরিচিত নই, এবং এই ধরণের দুর্নীতির বিরুদ্ধে প্রতিরোধী হওয়ার জন্য একটি ডাটাবেস ডিজাইন করা সম্ভব But তবে সম্পূর্ণ নিশ্চিত হওয়া ভাল))