क्या rm के साथ डिलीट की गई फाइल्स / डायरेक्ट्रीज़ को रिस्टोर किया जा सकता है?


69

क्या उन फ़ाइलों / निर्देशिकाओं को पुनर्स्थापित करना संभव है जिन्हें टर्मिनल का उपयोग करके हटा दिया गया है rmऔर rm -r? यदि किसी फाइल को ग्राफिकल इंटरफेस से डिलीट किया जाता है, तो उसे ट्रैश से रिस्टोर किया जा सकता है, लेकिन यदि आप rm यूटिलिटी का उपयोग करके इसे हटा दिया जाता है, तो आप फाइल को कैसे रिस्टोर करेंगे?


हटाए गए फ़ाइलों (किसी भी रूप में) को पुनर्प्राप्त करने के लिए उपकरण, आप इस प्रश्न पर एक नज़र डाल सकते हैं askubuntu.com/q/3883
Decio Lira

यदि आप भविष्य में फ़ाइलों को पुनर्स्थापित करना चाहते हैं तो "rm" का उपयोग न करें। आप "rm-trash" उपयोगिता का उपयोग कर सकते हैं: github.com/nateshmbhat/rm-trash
Natesh bhat

जवाबों:


63

यह अंत करने के लिए मैं trash-cliपैकेज और निम्नलिखित उपनाम का उपयोग करता हूं~/.bashrc

alias rm=trash

और trash-cliपैकेज फॉलोइंग कमांड द्वारा स्थापित किया जा सकता है sudo apt-get install trash-cli:।

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

आप rmनिम्न विधि में से किसी एक का उपयोग करके हमेशा वास्तविक का उपयोग कर सकते हैं :

command rm something
'rm' something
\rm something

टर्मिनल से ट्रैशकेन तक पहुंचने के आदेश भी हैं trash-list, restore-trash(या trash-restore), trash-emptyपैकेज ट्रैश-क्ली से इंस्टॉल करने योग्य (फिर उनके मैन पेज देखें)।

अंतिम नोट, सुपर-उपयोगकर्ता के लिए ऐसे उपनाम का उपयोग करना उचित नहीं है, क्योंकि यह सिस्टम संचालन में हस्तक्षेप कर सकता है।


19
यह एक काम है, लेकिन वास्तव में इस सवाल का जवाब नहीं है।
evgeny

मुझे लगता है कि उपयोगकर्ता यह भी जानना चाहेंगे कि क्या कमांड लाइन से समान व्यवहार को प्राप्त करने के लिए कुछ विधि है। यदि नहीं, तो मैं अपना उत्तर निकालने के लिए तैयार हूं।
enzotib

3
यह अच्छा है। मुझे कुछ ज्ञान प्राप्त हुआ है।
user3215

27

टर्मिनल से हटाने से यह स्थायी रूप से नष्ट हो जाता है - वसूली बहुत कठिन है और कभी-कभी असंभव है।

यदि आपका विभाजन प्रकार है ext3(इसका उपयोग करके जांच करें System->Administration->Disk Utility), तो ext3undel पर एक नज़र डालें

यदि यह नहीं है (यदि आपने डिफ़ॉल्ट सेटिंग्स के साथ उबंटू स्थापित किया है ), तो extundeleteप्रोग्राम का प्रयास करें ।

कोई गारंटी नहीं है कि आप कुछ भी पुनर्प्राप्त करेंगे।


यह डेस्कटॉप संस्करणों के लिए वास्तव में उपयोगी होगा।
user3215

मुझे संदेह है कि यह एसएसडी ड्राइव के लिए प्रभावी ढंग से काम करता है, लेकिन अन्यथा सुनने में प्रसन्नता है
मैट

13

आप के लिए देख रहे हैं: extundelete - ext3 / ext4 विभाजन से नष्ट कर दिया फ़ाइलों को पुनर्प्राप्त करने के लिए उपयोगिता

इस तरह के पैकेज को खोजने के लिए, आप कोशिश कर सकते हैं: apt-cache search undelete

उपयोगिता का उपयोग करने के लिए इसे स्थापित करें: sudo apt-get install extundelete

स्थापना के बाद man extundeleteइसे ध्यान से अध्ययन करें।


6

एक विकल्प के रूप में, यदि आप विशेष रूप से जानते हैं कि यह किस प्रकार की फ़ाइल है ...

sudo apt-get install foremost

अब खुलें /etc/foremost.confऔर आपको टिप्पणियों की लंबी सूची दिखाई देगी। यदि आपकी फ़ाइल का प्रकार मौजूद है, तो लाइन को अनइंस्टॉल करें (आप अप्रासंगिक लाइनों को भी हटाना चाह सकते हैं)।

यदि आपकी फ़ाइल प्रकार मौजूद नहीं है, तो अपनी स्वयं की लाइन जोड़ें। कहो कि मैं एक .css फ़ाइल को पुनर्प्राप्त करना चाहता हूं और मुझे इसका 40K पता है। मैं इसे जोड़ सकता है:

css     n       40000   Theme\sName:     Plugin\sFixes

द्वितीय स्तंभ केस-सेंसिटिविटी को संदर्भित करता है, तीसरा कॉलम साइज़ के लिए ऊपरी सीमा को संदर्भित करता है, 4 वां कॉलम यह है कि फ़ाइल कैसे शुरू होती है (याद रखें बच गए वर्णों का उपयोग करें) और अंतिम कॉलम यह है कि फ़ाइल आमतौर पर कैसे समाप्त होती है।

निम्न कमांड का उपयोग करें (डिस्क को तदनुसार संपादित करें। dfकमांड के साथ जांच कर सकते हैं )

foremost -v -T -c /etc/foremost.conf -i /dev/sda -o output

आगे क्या होगा यह है कि सबसे पहले आउटपुट नामक एक फ़ोल्डर बनाया जाएगा और सभी बरामद डेटा (इस मामले में) को फ़ोल्डर में डंप कर देगा। वहां से आप बरामद 'फाइलों' की तुलना diffया उपयोग कर सकते हैं meldऔर देख सकते हैं कि कौन सी तिथि सबसे अधिक है।


बहुत बहुत धन्यवाद। इसने पूरी तरह से काम किया। मैंने गलती से 2 फ़ाइलों के साथ अपने phpस्रोत फ़ाइल को हटा दिया । 2 मिनट से भी कम समय में वे पूरी तरह से ठीक हो गए। में फ़ाइल मैं कहा:rm -fr php/php.confphp n 40000 <?php ?> ASCII
shakiba Moshiri

5

सबसे अमूर्त शब्दों में बोलते हुए, जब भी आप ग्राफिकल इंटरफ़ेस पर किसी फ़ाइल को हटाते हैं, तो फ़ाइल को एक विशेष "बफ़र" में "स्थानांतरित" किया जाता है, जिसे एक निर्देशिका कहा जाता है trash। आप अपने में यह पता लगा सकते हैं home, निर्देशिका ~/.local/share/Trash/। इस निर्देशिका से "हटाए गए" फ़ाइलें, वास्तव में हटा दी जाएंगी। जब आप rmकिसी फ़ाइल पर उपयोग करते हैं तो यह वास्तविक विलोपन होता है ।

हटाई गई फ़ाइलों को पुनर्प्राप्त करना बेहद कठिन है। फ़ाइल सिस्टम में फ़ाइलों को बी-ट्री या इस तरह नोड्स के रूप में दर्शाया जाता है। जब फ़ाइल का उपयोग करके हटा दिया जाता है rm, तो पेड़ को अपडेट किया जाता है, हार्डलिंक की संख्या कम हो जाती है, निर्देशिका लिस्टिंग में संबंधित प्रविष्टि हटा दी जाती है। यदि बिल्कुल भी, आपकी फ़ाइल में एक कड़ी थी, तो आपकी फ़ाइल बिल्कुल सुरक्षित है। आप एक कर सकते हैं file / -samefile filename। आप फ़ाइल को खोज सकते हैं यदि आपको उसका इनकोड नंबर भी याद है (यह शायद ही मामला है)।

एक और मामला तब है जब उपरोक्त संभावनाओं में से कोई भी सत्य नहीं है। जब भी आप rmएक फाइल करते हैं, निर्देशिका पर फ़ाइल प्रविष्टि को हटा दिया जाता है, हार्डलिंक की संख्या को एक से कम कर देता है। और यदि हार्ड लिंक की संख्या शून्य हो जाती है, तो इनकोड पर फ़ाइल के लिए सूचक को गिरा दिया जाता है, या हटाए जाने के लिए चिह्नित किया जाता है। किसी भी तरह से, आपकी फ़ाइल "अभी भी" हार्ड डिस्क पर रहती है। फ़ाइल वास्तव में हार्ड डिस्क से केवल बाद के रिमाउंट पर मिटा दी जाती है। ऐसे समय में फ़ाइल पुनर्प्राप्ति अत्यंत कठिन है, जिसमें फ़ाइल सिस्टम ट्री और वास्तविक डिस्क ब्लॉक स्थानों का प्रतिनिधित्व करने वाले इनोड्स शामिल हैं। वहाँ एक लोकप्रिय उपकरण है, जिसके बारे में मैंने सुना है, लेकिन इसका इस्तेमाल कभी नहीं किया, कहा जाता है extundelete। हालाँकि इसकी कोई गारंटी नहीं है, फिर भी कोशिश करने लायक है।

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


2

क्षमा करें, लेकिन "rm" और "rm -f" के साथ कमांड लाइन से डिलीट की गई फाइलें "Trashcan" को Gnome डेस्कटॉप पर बाईपास करती हैं।

आप यह भी पूछना चाह सकते हैं कि क्या एफएटी और एनटीएफएस के लिए "एक्सडेलीट" उपकरण हैं जैसे कि कोई "हटाना रद्द" उपकरण हैं। (मैं किसी के बारे में नहीं जानता, लेकिन अगर कोई नहीं था तो मुझे आश्चर्य होगा।)


ओह ठीक है!। मुझे लगा कि इसे किसी स्थान से बरामद किया जा सकता है।
user3215

1

" आरएम-कचरा " उपयोगिता का उपयोग करें जो संभालती है उन्हें बाद में पुनर्प्राप्ति के लिए कचरा कर देती है और "आरएम" कमांड के सभी विकल्पों का समर्थन करती है।

sudo add-apt-repository ppa:nateshmbhat/rm-trash
sudo apt-get update
sudo apt-get install rm-trash

"आरएम-कचरा" है

  • rm के स्थान पर उपयोग करने के लिए
  • rm ले सकने वाले सभी विकल्पों को संभालता है
  • फ़ाइलों का नाम टकराव ट्रैश में पहले से मौजूद फाइलों से संभालता है
  • कुछ अनुमति समस्याओं को स्वचालित रूप से संभालता है
  • अगर rm को किसी अन्य स्क्रिप्ट से या अप्रत्यक्ष रूप से कहा जाता है तो सिस्टम 'rm' कमांड स्वचालित रूप से उपयोग किया जाता है
  • उन लोगों की तरह उचित त्रुटि संदेश दिखाता है जो अंदर उठते हैं rm
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.