पहला: अब इस ड्राइव का उपयोग बंद करें । यह केवल पढ़ने के लिए दूर करने के लिए ठीक है, बस यह सुनिश्चित करें कि कोई और लेखन न करें। हां, आपने तस्वीरें हटा दी हैं। वे पुनर्प्राप्त करने योग्य हो सकते हैं, लेकिन जितना अधिक आप उस ड्राइव का उपयोग करते रहेंगे, आपके पास कुछ भी पुनर्प्राप्त करने का मौका कम होगा।
आपका आदेश चलता है mv pic1.jpg pictures
, mv pic2.jpg pictures
आदि। प्रत्येक mv
फाइल को वर्तमान pictures
में किसी अन्य चित्र द्वारा नाम दिया गया ओवरवॉट है ।
एक फ़ाइल (एक ही फाइल सिस्टम के भीतर) ले जाने का मतलब है कि इसे उस निर्देशिका से अलग करना जिसमें यह शामिल है और इसे नए नाम के तहत लक्ष्य निर्देशिका में संलग्न करना है। इसलिए इस कमांड द्वारा कोई फ़ाइल डेटा संशोधित या डिलीट नहीं किया गया था, केवल जो इमेज गायब हो गई हैं उनके लिए डायरेक्टरी एंट्रीज।
आप एक टूल चला सकते हैं जो आपके फाइलसिस्टम के खाली स्थान को बिखेरता है और उन चीज़ों की तलाश करता है जो जेपेग की तरह दिखती हैं। सौभाग्य से, प्रत्येक jpeg फ़ाइल एक पहचानने योग्य हेडर के साथ शुरू होती है। हटाए गए सामग्री को देखने वाले उपकरण नक्काशी उपकरण कहलाते हैं । कुछ सहित उबंटू में कर रहे हैं, recoverjpeg , सबसे पहले , TestDisk , ... तस्वीरों को एक अलग घर विभाजन पर या एक बाहरी ड्राइव पर हैं, तो एक स्थापित करने या उन संकुल की अधिक से नष्ट कर दिया चित्रों के साथ विभाजन करने के लिए उन्हें इशारा करते हैं।
यदि फ़ोटो आपके सिस्टम डिस्क पर हैं, तो आपको तुरंत अपने सिस्टम का उपयोग बंद करने की आवश्यकता है। लाइव सीडी या यूएसबी डाउनलोड करने के लिए दूसरे कंप्यूटर का उपयोग करें और उसी से बूट करें। किसी भी लाइव सीडी जिसमें टेस्टडिस्क शामिल है, बिल को फिट करना चाहिए, लेकिन कुछ अन्य की तुलना में उपयोग करना आसान है। सिस्टम रेस्क्यू सीडी एक अच्छा सामान्य-उद्देश्य प्रणाली बचाव सीडी है। उबंटू रेस्क्यू रीमिक्स एक उबंटू उपयोगकर्ता के लिए अधिक परिचित हो सकता है।
भविष्य के संदर्भ के लिए, mv -i
जब तक आप फ़ाइलों को अधिलेखित करने का लक्ष्य न रखें, तब तक उपयोग करने की आदत डालें। आपके पास पहले से ही एक उपनाम हो सकता है mv
, लेकिन यह केवल तब होता है जब आप mv
सीधे कमांड लाइन पर टाइप करते हैं, न कि जब mv
किसी स्क्रिप्ट या find
कमांड द्वारा आमंत्रित किया जाता है ।
$ : >pictures
$ mv -i foo.jpg pictures
mv: overwrite `pictures'?
इसके अलावा, यदि आप /
एक नाम के बाद एक निर्देशिका का नाम माना जाता है, तो आपको एक त्रुटि मिलेगी यदि निर्देशिका मौजूद नहीं है, या यदि उस नाम से एक फ़ाइल है जो निर्देशिका नहीं है।
$ : >pictures
$ mv foo.jpg pictures/
mv: cannot move `foo.jpg' to `pictures/': Not a directory
$ rm pictures
$ mv foo.jpg pictures/
mv: cannot move `foo.jpg' to `pictures/': Not a directory
के नुकसान से बचने के लिए find
, आप इसके बजाय bash के पुनरावर्ती निर्देशिका ट्रैवर्सल सुविधा का उपयोग कर सकते हैं। आपको इसे पहले कमांड के साथ चालू करना होगा shopt -s globstar
(आप इस लाइन को अपने साथ जोड़ सकते हैं ~/.bashrc
। फिर:
mv **/*.jpg pictures/
(ध्यान दें कि बैश में, **/
निर्देशिकाओं के प्रतीकात्मक लिंक का पता लगाता है, और इसे बंद करने का कोई तरीका नहीं है। यदि आप एक पुनरावर्ती ट्रैवर्सल चाहते हैं, जो निर्देशिकाओं के प्रतीकात्मक लिंक के माध्यम से नहीं दिखता है, तो zsh का उपयोग करें या खोजें।)