> For the complete documentation index, see [llms.txt](https://sh.howtocode.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sh.howtocode.dev/3.0.0.part3intro/3.3.0.storage-media/3.3.5.cloning.md).

# ডিভাইস ক্লোনিং

আমরা সাধারণত ফাইলপত্র বা তথ্যকে সাজানো গোছানো দেখি ডিরেক্টরিতে। ফাইল বললেই চোখের সামনে এটাই ভেসে ওঠে। কিন্তু আপনি এটাকে ডাটাব্লক হিসেবে দেখতে পারেন। স্টোরেজ ডিভাইসে ডাটা ব্লকের পর ব্লকে সাজানো থাকে। আপনি সাধারণভাবে কপি করলে একইভাবে না সাজানোর সম্ভবনাই বেশি। কিন্তু আপনার কাছে কোনো উপায় যদি থাকে যে একটি ডিভাইসে ব্লকগুলো যেভাবে সাজানো থাকে সেভাবে সাজাতে পারবেন তাহলে আপনি হুবহু ক্লোন করতে পারবেন।

এখন প্রশ্ন হচ্ছে এর কোনো ব্যবহার আদৌ আছে কিনা? আছে। এবং আপনারও দরকার হতে পারে কখনো কখনো। কখনো যদি কোনো লিনাক্সের ইমেজ ফাইল থেকে বুটাবল মিডিয়া বানাতে চান। এটা সবচেয়ে চমৎকার পদ্ধতি।

এরজন্য আমরা `dd` কমান্ড ব্যবহার করবো। **মাথায় রাখবেন** `dd` **একটি বিধ্বংসী কমান্ড হতে পারে সামান্য ভুলে। অতএব সাবধান!** `dd` কমান্ডের কমান্ড কাঠামো এরকম:

```
dd if=input_file of=output_file
```

*input\_file* ও *output\_file* দুটোই ফাইল বা ডিভাইস যেকোনোকিছু হতে পারে। মনে করি আপনি কম্পিউটারে দুটো পেন্ড্রাইভ লাগিয়েছেন। ডিভাইস দুটি এখন যথাক্রমে sdb ও sdc। এবং এদের মধ্য থেকে sdb1 ও sdc1 মাউন্টেড আছে। আমরা প্রথমে পার্টিশন দুটি আনমাউন্ট করবো এবং তারপর sdb থেকে sdc তে ক্লোন করবো:

```
# umount sdb1
# umount sdc1
# dd if=/dev/sdb of=/dev/sdc
```

আবার আমরা চাইলে sdb এর একটি ইমেজ ফাইল বানাতে পারি এভাবে:

```
# dd if=/dev/sdb of=sdb-backup.img
```
