गलती से हटाई गई फ़ाइलें पुनर्प्राप्त करना


79

मैंने गलती से अपने लैपटॉप से ​​एक फ़ाइल हटा दी थी। मैं फेडोरा का उपयोग कर रहा हूं। क्या फ़ाइल को पुनर्प्राप्त करना संभव है?


9
आपका फाइल सिस्टम क्या है?
इकोक्स

जवाबों:


94

मैं तुरंत कुछ उपयोगिता स्थापित करने के खिलाफ सलाह दूंगा। मूल रूप से आपके सबसे बड़े दुश्मन यहां डिस्क लिखते हैं। आप उन्हें हर हाल में बचना चाहते हैं।

आपका सर्वश्रेष्ठ दांव आपके संपादक द्वारा बनाया गया एक ऑटो-बैकअप है - यदि यह मौजूद है। यदि नहीं, तो यदि आप अपने .tex फ़ाइल में कुछ अद्वितीय स्ट्रिंग याद करते हैं, तो मैं grep का उपयोग करके निम्नलिखित चाल की कोशिश करूँगा।

$sudo grep -i -a -B100 -A100 'string' /dev/sda1 > file.txt

/dev/sda1उस डिवाइस से प्रतिस्थापित करें जो फ़ाइल चालू थी और 'string'आपकी फ़ाइल में अद्वितीय स्ट्रिंग के साथ बदल देती है । इसमें कुछ समय लग सकता है। लेकिन मूल रूप से, यह क्या करता है यह डिवाइस पर स्ट्रिंग की खोज करता है और फिर उस लाइन से पहले और बाद में 100 लाइनें देता है और इसे अंदर डालता है file.txt। यदि आपको अधिक पंक्तियों की आवश्यकता है तो वापस दिए गए विकल्पों -Bऔर -Aविकल्पों को उचित रूप से समायोजित करें। आपको अतिरिक्त कचरा का एक गुच्छा वापस मिल सकता है, लेकिन आपको अपना पाठ वापस पाने में सक्षम होना चाहिए।

सौभाग्य।


8
किसी ने मुझे पता चला है कि यह एक कुछ हफ्तों के बाद मैं लिनक्स, जब मैं एक पाठ दस्तावेज़ को मार डाला मैं वास्तव में जरूरत पर स्विच किया - यह काफी मेरे मन विस्फोट से उड़ा दिया
माइकल Mrozek

18
वैसे, -B100 -A100इसे समकक्ष -C100(सी "संदर्भ" के लिए) से बदला जा सकता है । और मैं निश्चित रूप से इसका उपयोग नहीं करूंगा -iयदि यह संभव था, लेकिन -Fइसकी जगह पर है।
रोज़्ज़ेट्रिजेविज़

शायद अनिश्चित रूप से - मुझे लगता है कि एक ही डिस्क ब्लॉक का पुन: उपयोग किया गया है - यह विधि किसी फ़ाइल के लिए काम नहीं करती थी जिसे मैंने गलती से ओवरवोट किया था, गलती से नष्ट नहीं हुआ।
ntc2

हां, ज्यादातर फाइल सिस्टम पर, जब फाइल ओवरराइट की जाती है, तो वही ब्लॉक फिर से उपयोग किए जाते हैं। ध्यान दें कि कुछ एप्लिकेशन पहले एक अस्थायी फ़ाइल लिखकर (जो इसे एक अलग लिखते हैं) एक अर्थ में "इसके चारों ओर काम करते हैं", फिर पुरानी फ़ाइल के शीर्ष पर उस फ़ाइल का नाम बदलना (जो उपयोगकर्ता के दृष्टिकोण से डेटा को बदलता है)। यह कई अलग-अलग कारणों से किया जाता है। स्टोरेज सिस्टम (फाइल सिस्टम सहित) जो हर समय ऐसा करते हैं उन्हें लिखने पर कॉपी कहा जाता है
बजे एक CVn

क्या आपको जरूरत है / देव / sda1 ?? क्या आप सिर्फ उस निर्देशक के पास जा सकते हैं, जहाँ फ़ाइल थी / बिना / dev / sda1 के?
coolcool1994

22

यह संभव है, यह सिर्फ एक परेशानी होने वाली है।

अद्यतन: इससे पहले कि आप इस विधि का प्रयास करें, स्टीवन के जवाब पर एक नज़र डालें ।

आपको टेस्टडिस्क पैकेज, बहुत सारे डिस्क स्थान और बहुत समय की आवश्यकता है।

PhotoRec, TestDisk का एक हिस्सा, लगभग किसी भी डिस्क से फ़ाइलों को पुनर्प्राप्त कर सकता है। PhotoRec फ़ाइलों को खोजने का समर्थन करता है .tex


सबसे पहले, चलाकर टेस्टडिस्क स्थापित करें

yum install testdisk

नोट: आपको किसी अन्य ड्राइव पर बहुत अधिक खाली स्थान की आवश्यकता है, जहां आप पुनर्प्राप्त फ़ाइलों को सहेज सकते हैं।

डिस्क photorecके खाली स्थान पर चलकर अपनी डिस्क पर सभी हटाए गए फ़ाइलों को पुनर्प्राप्त करें।

sudo photorec

और निर्देशों का पालन करें ... (उसी डिस्क पर फ़ाइलों को सहेजने के लिए नहीं याद रखें जो आप से पुनर्प्राप्त कर रहे हैं)

प्रक्रिया पूरी होने के बाद, सभी पुनर्प्राप्त फ़ाइलें एक निर्देशिका में होनी चाहिए, जहां आपको चलना चाहिए:

find -name '*.tex' > filelist

यह उन फ़ाइलों की सूची को आउटपुट करेगा जो आपके द्वारा खोई गई हो सकती हैं। आपको उन सभी की जांच करनी होगी, क्योंकि फाइलनाम खो जाएंगे।


11
फोटोरेक एक अच्छा उपयोग है, मुझे बस डिस्क के बारे में चिंतित होना चाहिए जो इंस्टॉल के दौरान होने वाला है। वहाँ वैसे भी एक स्वसंपूर्ण निष्पादन के रूप में इसे प्राप्त करने के लिए है जो बाहरी मीडिया से चल सकता है?
स्टीवन डी

1
हां, आप बहुत सही हैं। मैं एक स्टैंडअलोन निष्पादन योग्य के बारे में नहीं जानता, लेकिन कोई कुछ लाइव-सीडी का उपयोग करने की कोशिश कर सकता है?
स्टीफन

2
फोटोरेक के साथ बरामद फाइलों पर कटौती करने के लिए, तीसरी स्क्रीन एक [फाइल ऑप्ट] देगी जो इसे चुनेंगी। आप एक सूची से चुन सकते हैं कि आप किस फ़ाइल प्रकार को चाहते हैं या पुनर्प्राप्त नहीं करना चाहते हैं।
स्टीव बर्डिन

13

कई टेक्स्ट एडिटर बैकअप फाइल रखते हैं। यदि आप वास्तव में भाग्यशाली हैं, तो आपकी फ़ाइल के पिछले संस्करण सहित yourfile.tex ~ जैसी कोई चीज़ हो सकती है।


9

अन्य डेटा रिकवरी टूल हैं और सबसे प्रभावी हैं सबसे महत्वपूर्ण , फोटोरेक , स्केलपेल और मैजिक रेस्क्यू । (मैं मान रहा हूँ कि यहाँ बताया गया 'grep' ट्रिक पर्याप्त नहीं है) यहाँ आप इनका उपयोग करने के तरीके के बारे में कुछ ट्यूटोरियल पा सकते हैं:

http://www.howtogeek.com/howto/15761/recover-data-like-a-forensics-expert-using-an-ubuntu-live-cd/

https://help.ubuntu.com/community/DataRecovery


4

किसी भी मामले में मैं किसी भी डिस्क लिखने से बचने के लिए जितनी जल्दी हो सके डिवाइस पर काम करना बंद कर दूंगा , और एक समर्पित रिकवरी ओएस में बूट करूँगा , जैसे SystemRescueCd , जो एक लाइव-सीडी है ताकि आप अपनी डिस्क को केवल पढ़ने के लिए माउंट कर सकें आगे डेटा हानि को रोकने के लिए।

उन डिस्ट्रोस में दूसरों द्वारा उल्लिखित पुनर्प्राप्ति उपकरण शामिल हैं, और आप सबसे अधिक लापता स्थापित कर सकते हैं।

मैं हमेशा अपने बाहरी USB रीडर में SystemRescueCd के हाल के संस्करण के साथ एक सीडी रखता हूं, बस मामले में।


3

नोट: मैंने यह उत्तर हटाए गए डेटाबेस फ़ाइलों (MySQL सर्वर) के बारे में कुछ अन्य प्रश्नों के बारे में जोड़ा है जो बंद था और इसे इस ओर इशारा किया। मेरा मानना ​​है कि यह कुछ अन्य समान स्थितियों में भी उपयोगी हो सकता है (जहाँ तक कुछ प्रक्रिया अभी भी फ़ाइल डिस्क्रिप्टर को खुला रखती है)।

यदि आपकी प्रक्रिया अभी भी रननिग है तो आप अपनी फ़ाइलों को ढूंढ सकते हैं /proc/<pid>fd/और उन्हें कॉपी कर सकते हैं। SIGSTOPप्रक्रिया समूह में पहले भेजें । फ़ाइलों की प्रतिलिपि बनाएँ। नए उदाहरणों का निर्माण करें kill -9और इसे बंद कर दें या इसे अपने स्थानों पर वापस रख दें। InnoDB को चलाने के दौरान अपने आप ठीक हो जाएगा लेकिन अगर कुछ MyISAM था तो आपको इसे मैन्युअल रूप से करना होगा।


2

मैंने गलती से अपनी साइक्लाइट डीबी फाइल डिलीट कर दी थी।

फ़ाइल का पता लगाने के लिए मैंने क्या किया,

/proc/एक फ़ाइल ब्राउज़र में स्थान खोला और वहाँ पर हटाए गए sqlite db फ़ाइल की खोज की।

मुझे एक खोज परिणाम में उस फ़ाइल का पता चला। उस फाइल को वहां से मेरी पुरानी जगह पर कॉपी कर लिया।


0

मुझे दो साल पहले भी यही समस्या थी और मैंने कई कार्यक्रमों की कोशिश की, जैसे कि डिबगफिक्स, फोटोरेक, एक्सट्रेग्रेप और एक्स्टेंडेनेट। ext3grep फ़ाइलों को पुनर्प्राप्त करने के लिए सबसे अच्छा कार्यक्रम था। वाक्य रचना बहुत आसान है:

ext3grep image.img --restore-all

या:

ext3grep /dev/sda3 --restore-all --after date -d '2015-01-01 00:00:00' '+%s' --before `date -d ‘2015-01-02 00:00:00’ ‘+%s’

यह वीडियो एक मिनी ट्यूटोरियल है जो आपकी मदद कर सकता है।


0

यदि आपके पास कोई बैकअप नहीं है, तो 3rd पार्टी डिस्क रिकवरी टूल कुछ या सभी डेटा को पुनर्प्राप्त कर सकता है, लेकिन अब आपको मशीन का उपयोग बंद करना होगा। ट्रैश की गई फाइलें अब आपके सिस्टम के लिए उन्हें अधिलेखित करने के लिए उपलब्ध हैं। एक बार जब वे अधिलेखित हो जाते हैं तो डेटा को पुनर्प्राप्त करना निषेधात्मक रूप से महंगा होता है। मुझे uflysoft डेटा रिकवरी का उपयोग करने में सफलता मिली है (अन्य मैक ओएस डेटा रिकवरी एप्लिकेशन हैं) - आपके पास एक "रिकवरी ड्राइव" होना चाहिए (आपका मुख्य ड्राइव नहीं है या आप से एक स्केवेंजिंग ड्राइव करें) जिस पर बरामद डेटा को सहेजना है। आप डेटा रिकवरी डिस्क (सिस्टम) से बूट करते हैं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.