मैक पर पुनर्प्राप्त हटाए गए फ़ाइलों को कमांड लाइन द्वारा


24

मैंने गलती से कोई फ़ाइल हटा दी है:

rm -rf ./Desktop/myScript.sh

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


1
आप एचएफएस + का उपयोग करना चाहते हैं, यह मानते हुए कि आप एचएफएस + का उपयोग कर रहे हैं। Apple SE साइट शायद अधिक जानती है।
derobert

1
किस्सा, लेकिन मेरे ससुर ने मैक ओएस एक्स पर अकस्मात फ़ोटो की एक बड़ी निर्देशिका को हटा दिया, और वह डाउनलोड किए गए टूल का उपयोग करके उनमें से अधिकांश को पुनर्प्राप्त करने में सफल रहा (मुझे लगता है कि यह पैसे खर्च करता है, लेकिन एक या दो फ़ाइलों के लिए एक परीक्षण था , तो आप परीक्षण कर सकते हैं कि क्या यह काम करने जा रहा है, और आपके मामले में यह पर्याप्त होगा)। विचार विमर्श
.apple.com

जवाबों:


28

मैकओएस एक यूनिक्स ओएस है और rmइसका अर्थ है "गुड-बाय"। जीयूआई इंटरफ़ेस आपको एक फ़ाइल को कचरा में स्थानांतरित करने की अनुमति देता है (जिसे आप फिर से पुनर्प्राप्त कर सकते हैं) लेकिन ऐसा आपने नहीं किया। यदि आपके पास बैकअप है (जैसे आपके पास टाइम मशीन चल रही है) तो आप बच जाते हैं।

स्पष्टीकरण

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

MacOS में एक सुरक्षित निष्कासन कमांड ( srm) भी है, जो किसी फ़ाइल को लिखने से पहले unlinkउसे अप्राप्य बना देता है। मैं इस unlinkशब्द का उपयोग करता हूं क्योंकि यह शेल के rmकमांड से जुड़ा अंतर्निहित सिस्टम कॉल है । यह नीचे इस चर्चा के अगले भाग के लिए चरण निर्धारित करता है।

पक्षीय लेख

[मुझे यह जोड़ने की जल्दबाजी करनी चाहिए कि भले ही आप एक डिस्क को कई बार लिख लें, लेकिन पढ़ने के तरीके ऐसे हैं जो पहले दर्जन या अधिक बार लिखे गए थे। निपटान के लिए एक डिस्क को ठीक से साफ करने के लिए वास्तव में एक एसिड स्नान, एक बड़ा हथौड़ा और एक श्रेडर की आवश्यकता होती है। ]

unlinkफ़ाइल को इनच करें फ़ाइल के इनकोड लिंक-गिनती को घटाता है। यदि यह मान शून्य तक पहुँच जाता है, तो फ़ाइल को फाइलसिस्टम डायरेक्टरी से हटा दिया जाता है और इसका डिस्क ब्लॉक फिर से उपयोग के लिए मुक्त हो जाता है। यह केवल तब होता है जब किसी भी प्रक्रिया में फ़ाइल नहीं होती है। यह अक्सर प्रशासकों को भ्रमित करने के लिए होता है कि एक फाइलसिस्टम बहुत बड़ी मात्रा में अंतरिक्ष का उपयोग कर रहा है जिसे डिस्क ब्लॉक के सरल योग (कुछ ऐसा du) के साथ हिसाब नहीं किया जा सकता है । सबसे अधिक बार कारण यह है कि एक खुली फ़ाइल को हटा दिया गया है, ताकि यह अब इसकी निर्देशिका में प्रतिनिधित्व न करे। कारण यह है कि डिस्क ब्लॉक तब तक अप्रयुक्त रहते हैं जब तक कि फ़ाइल का उपयोग करने की अंतिम प्रक्रिया समाप्त नहीं हो जाती।

एक फ़ाइल खोलना और तुरंत unlinkआईएनजी यह वास्तव में सुरक्षित, अस्थायी फ़ाइलों को बनाने के लिए एक सामान्य अभ्यास है। lsofयदि आप शून्य की लिंक गणना (NLINK) के साथ फ़ाइलों की तलाश करते हैं तो उपकरण इन अन्यथा अदृश्य फ़ाइलों को उजागर कर सकते हैं।

यूनिक्स और लिनक्स में (जिनमें से मैकओएस एक ब्रांडेड यूनिक्स है), rmअगर ऐसा हो सकता है तो बिना धूमधाम के "डो-इट" के यूनिक्स दर्शन का अनुसरण करता है। यही है, यदि आपके पास फ़ाइल हटाने की अनुमति है (यानी आपकी निर्देशिका लिखने की अनुमति देती है) तो rmवह वही करता है जो आप पूछते हैं। आप एक शेल उर्फ ​​बनाना पसंद कर सकते हैं rm='rm -i'जो ऑपरेशन करने से पहले आपको पुष्टि के लिए संकेत देता है। यदि आवश्यक हो तो ओवरराइड के -fसाथ स्विच का उपयोग करना rmrmजब आप globहटाते हैं तो एक उपनाम सबसे उपयोगी होता है rm *.log। यानी, आपके पास सूची में किसी फ़ाइल को छोड़ देने का विकल्प है।


अच्छी तरह से "स्पष्टीकरण" अनुभाग पर किया।
टिम

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

4

आपकी सामग्री के आधार पर, लेकिन आप ऐसा करने के लिए विभिन्न 3 पार्टी सॉफ्टवेयर्स का उपयोग कर सकते हैं, जैसे:

और बहुत सारे।

आप ऐप स्टोर में 'डेटा रिकवरी' टाइप करके अधिक ऐप पा सकते हैं।


अधिक उन्नत तरीका है अपने OSX को रिकवरी मोड में बूट करें (या यदि आप कर सकते हैं और अपने विभाजन को umount करें) और इसे मैन्युअल रूप से देखें (यदि आपको अपनी स्क्रिप्ट से कुछ विशिष्ट पाठ याद है)।

कुछ उदाहरण:

diskutil list
sudo cat /dev/disk0s2 | strings | grep -C20 "my_stuff"

1
Wondershare का इस्तेमाल किया और कुछ कोड वापस I "git clean -f" 'd
fionbio

2
2019 तक APFS एन्क्रिप्शन के कारण अब OSX पर ब्लॉक डिवाइस स्कैनिंग ट्रिक या तो असंभव या अधिक कठिन है। मैंने सफलतापूर्वक इस तरह से डेटा को लिनक्स पर
लिखा है
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.