यह वास्तव में ऐतिहासिक है, और यह महत्वपूर्ण नहीं है कि आप जो कुछ करने जा रहे हैं वह एक डिस्क को दूसरे पर क्लोन कर रहा है।
पारंपरिक यूनिक्स पर, डिस्क ब्लॉक डिवाइस और चरित्र उपकरणों दोनों के माध्यम से डिस्क सुलभ थे, और प्रत्येक की अलग-अलग आवश्यकताएं थीं। ब्लॉक उपकरणों के साथ बातचीत करने के लिए 'डीडी' की आवश्यकता थी, क्योंकि 'बिल्ली' केवल चरित्र I/O के बारे में जानता था। (ब्लॉक I/O टेप ड्राइव जैसी चीजों के साथ कुशलता से निपटने के लिए विशेष रूप से महत्वपूर्ण था।)
डीडी आसान हो सकता है यदि आपको अपनी स्किप और तलाश विकल्पों के कारण लंबी चलती प्रतिलिपि फिर से शुरू करने की आवश्यकता है।
जब तक कि आप उस सिस्टम पर न हों जो अभी भी डिस्क एक्सेस (जो लिनक्स नहीं करता) के लिए ब्लॉक/चरित्र भेद है, और जब तक आपको स्वैप बाइट्स जैसे कुछ करने की आवश्यकता न हो, 'बिल्ली' ठीक रहेगी (और शायद तेज़, क्योंकि यह डीडी से ब्लॉक आकार को हूजर करने के लिए डिफ़ॉल्ट होगा)।
ध्यान दें कि जब तक किसी ने शैल डिज़ाइन में कुछ प्रमुख टिंकरिंग नहीं की है, तब तक मैंने देखा, 'बिल्ली फू> बार' खोल के माध्यम से 'बार' पर लेखन नहीं करता है; सभी खोल छंटनी के साथ लिखने के लिए खुली 'बार' है, फिर फाइल डिस्क्रिप्टर 1 (stdout) के रूप में एक कांटा/निष्पादन में 'बिल्ली' के लिए खुली फ़ाइल डिस्क्रिप्टर को पास करें। उस बिंदु पर, खोल लूप से बाहर है, और 'बिल्ली' की निकास स्थिति के अधिसूचित होने से परे, फिर से शामिल नहीं होता है।
gnu ddrescue डीडी – endolith