dd = "डिस्क डंप"।
यह उपयोगिता मूल UNIX सिस्टम ऑपरेशनल वातावरण से आती है, जहां माध्यमिक मेमोरी ("वर्चुअल मेमोरी" ऑपरेटिंग मेमोरी में बड़े पैमाने पर स्टोरेज डिवाइस) को दोहराने के लिए आम था। dd ऐसा कर सकता है, बिट के लिए बिट, बाइट के लिए बिट, सेक्टर के लिए सेक्टर, ट्रैक के लिए ट्रैक आदि। यह बिट्स को फ्लिप भी कर सकता है, EBCDIC को ASCII में बदल सकता है, ब्लॉक आकार बदल सकता है और बहुत अधिक किसी भी अन्य बाइनरी ऑपरेशन को आप चाहेंगे / भंडारण डेटा को स्थानांतरित / परिवर्तित / पुनर्प्राप्त करने की आवश्यकता है। उन दिनों में स्टोरेज डिवाइस (सभी) बहुत धीमे, कम घने और आज की तुलना में कम विश्वसनीय थे। हमें हर समय "रैंडम एक्सेस मैग्नेटिक स्टोरेज डिवाइसेस" (जैसे डिस्क ड्राइव, फ्लॉपी और हार्ड, मैग्नेटिक सिलिंडर इत्यादि) को बदलना / मरम्मत करना था।
एक सिर दुर्घटना, या अन्य भयावह भंडारण उपकरण विफलता की स्थिति में, "dd" था (और अभी भी) एक नए उपकरण के लिए जो डेटा मैं कर सकता था, उसे निकालने के लिए मेरी पसंदीदा उपयोगिताओं में से एक। एक बार नया उपकरण स्थापित हो जाने के बाद, मैं क्षतिग्रस्त फ़ाइल प्रणाली को पुनर्प्राप्त / सुधारने और शायद कुछ डेटा निकालने के लिए fsck (फाइल सिस्टम चेक) और fsdb (फाइल सिस्टम डीबगर) का उपयोग कर सकता हूं।
यह हमारी पहली अल्पविकसित बैकअप प्रणाली भी थी। आवेदन प्रक्रिया (dd), "सुपर यूजर" के रूप में काम कर सकती है और I / O सबसिस्टम (कर्नेल) के माध्यम से चरित्र / कच्चे (ब्लॉक डिवाइस ड्राइवर [प्रवेश बिंदु] के माध्यम से सीधे पढ़ सकती है / लिख सकती है, फाइल सिस्टम (कर्नेल) को पूरी तरह से दरकिनार कर सकती है। नए डिवाइस के लिए फ़ाइल सिस्टम निर्माण की नकल। dd (हर दूसरे UNIX कोर उपयोगिता की तरह) में भी मानक इनपुट से पढ़ने और मानक आउटपुट को लिखने की क्षमता होती है, जो इसे शेल स्क्रिप्ट में अन्य चीजों के लिए उपयोग करने की अनुमति देता है :-)…।