Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Bash प्रोग्रामिंग

लिनक्स पर डिलीट की गई फाइलों को कैसे रिकवर करें: एक व्यावहारिक चरण-दर-चरण गाइड

परिचय

क्या आपके साथ ऐसा कभी हुआ? आपको एहसास हुआ कि आपने गलती से एक फाइल डिलीट कर दी - या तो Del कुंजी के माध्यम से, या कमांड लाइन में rm का उपयोग करके।

पहले मामले में, आप हमेशा ट्रैश पर जा सकते हैं, फाइल खोज सकते हैं, और इसे उसके मूल स्थान पर रिस्टोर कर सकते हैं। लेकिन दूसरे मामले के बारे में क्या? जैसा कि मुझे यकीन है कि आप शायद जानते हैं, लिनक्स कमांड लाइन हटाई गई फाइलों को कहीं नहीं भेजती - यह उन्हें हटा देती है। बम। वे चली गईं।

सुझाया गया पढ़ें: Scalpel टूल का उपयोग करके डिलीट की गई फाइलों/डायरेक्टरी को कैसे रिकवर करें

इस लेख में हम एक टिप साझा करेंगे जो इसे आपके साथ होने से रोकने में मददगार हो सकती है, और एक टूल जिस पर आप विचार कर सकते हैं यदि किसी भी बिंदु पर आप वैसे भी ऐसा करने के लिए पर्याप्त लापरवाह हैं।

'rm -i' का उपनाम बनाएं

-i स्विच, जब rm के साथ उपयोग किया जाता है (और cp या mv जैसे अन्य फाइल-मैनिपुलेशन टूल के साथ भी) हटाने से पहले एक प्रॉम्प्ट प्रकट होने का कारण बनता है।

यही बात तब लागू होती है जब किसी ऐसे स्थान पर फाइल कॉपी, मूव, या रीनेम की जाती है जहां उसी नाम की फाइल पहले से मौजूद होती है।

यह प्रॉम्प्ट आपको यह विचार करने का दूसरा मौका देता है कि क्या आप वास्तव में फाइल को हटाना चाहते हैं - यदि आप प्रॉम्प्ट की पुष्टि करते हैं, तो यह चली जाएगी। उस स्थिति में, मुझे खेद है लेकिन यह टिप आपकी अपनी लापरवाही से आपकी रक्षा नहीं करेगी।

rm को 'rm -i' के उपनाम से बदलने के लिए, करें:

alias rm='rm -i'

alias कमांड पुष्टि करेगा कि rm अब उपनाम है:

लिनक्स पर डिलीट की गई फाइलों को कैसे रिकवर करें: एक व्यावहारिक चरण-दर-चरण गाइड

हालाँकि, यह केवल वर्तमान शेल में वर्तमान उपयोगकर्ता सत्र के दौरान चलेगा। परिवर्तन को स्थायी बनाने के लिए, आपको इसे ~/.bashrc में सेव करना होगा (कुछ डिस्ट्रीब्यूशन ~/.profile का उपयोग कर सकते हैं) जैसा कि नीचे दिखाया गया है:

लिनक्स पर डिलीट की गई फाइलों को कैसे रिकवर करें: एक व्यावहारिक चरण-दर-चरण गाइड

~/.bashrc (या ~/.profile) में परिवर्तनों को वर्तमान शेल से तुरंत प्रभावी करने के लिए, फाइल को सोर्स करें:

. ~/.bashrc
लिनक्स पर डिलीट की गई फाइलों को कैसे रिकवर करें: एक व्यावहारिक चरण-दर-चरण गाइड

फोरेंसिक टूल - Foremost

उम्मीद है, आप अपनी फाइलों के साथ सावधान रहेंगे और इस टूल का उपयोग केवल बाहरी डिस्क या USB ड्राइव से खोई हुई फाइल को रिकवर करते समय करेंगे।

हालाँकि, यदि आपको एहसास होता है कि आपने गलती से अपने सिस्टम में एक फाइल हटा दी है और घबराने जा रहे हैं - मत घबराइए। आइए foremost पर एक नज़र डालते हैं, एक फोरेंसिक टूल जिसे इस तरह के परिदृश्यों के लिए डिज़ाइन किया गया था।

सेंटओएस/RHEL 7 में foremost इंस्टॉल करने के लिए, आपको पहले Repoforge सक्षम करने की आवश्यकता होगी:

# rpm -Uvh https://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
# yum install foremost

जबकि डेबियन और डेरिवेटिव में, बस करें

# aptitude install foremost

एक बार इंस्टॉलेशन पूरा हो जाने पर, आइए एक सरल टेस्ट के साथ आगे बढ़ते हैं। हम /boot/images डायरेक्टरी से nosdos.jpg नाम की एक इमेज फाइल को हटाकर शुरू करेंगे:

# cd images
# rm nosdos.jpg

इसे रिकवर करने के लिए, foremost का उपयोग निम्नानुसार करें (आपको अंतर्निहित पार्टीशन की पहचान करने की आवश्यकता होगी पहले - /dev/sda1 वह जगह है जहां इस मामले में /boot स्थित है):

# foremost -t jpg -i /dev/sda1 -o /home/gacanepa/rescued

जहां /home/gacanepa/rescued एक अलग डिस्क पर एक डायरेक्टरी है - ध्यान रखें कि जिन ड्राइव पर हटाई गई फाइलें स्थित थीं, उसी ड्राइव पर फाइलों को रिकवर करना बुद्धिमानी नहीं है।

यदि, रिकवरी के दौरान, आप उन्हीं डिस्क सेक्टर्स पर कब्जा कर लेते हैं जहां हटाई गई फाइलें हुआ करती थीं, तो कुछ भी रिकवर करना संभव नहीं हो सकता है। इसके अतिरिक्त, रिकवरी करने से पहले अपनी सभी गतिविधियों को रोकना आवश्यक है।

Foremost के निष्पादन समाप्त होने के बाद, रिकवर की गई फाइल (यदि रिकवरी संभव थी) /home/gacanepa/rescued/jpg डायरेक्टरी के अंदर पाई जाएगी।

सारांश

इस लेख में हमने बताया है कि फाइल को गलती से हटाने से कैसे बचा जाए और यदि ऐसी अवांछित घटना होती है तो उसे रिकवर करने का प्रयास कैसे करें। हालांकि, चेतावनी दी जाती है कि पार्टीशन के आकार के आधार पर foremost को चलने में काफी समय लग सकता है।

हमेशा की तरह, यदि आपके पास प्रश्न या टिप्पणियां हैं तो हमें बताने में संकोच न करें। नीचे दिए गए फॉर्म का उपयोग करके हमें एक नोट छोड़ने के लिए स्वतंत्र महसूस करें।

  1. कैसे पता करें कि iOS ऐप बैकग्राउंड में है या फोरग्राउंड में? कैसे पता करें कि iOS ऐप बैकग्राउंड में है या फोरग्राउंड में?

    ऐप स्टेट डिटेक्शन यह पता लगाने के लिए कि iOS एप्लिकेशन बैकग्राउंड में है या फोरग्राउंड में, हम बस UIApplication का उपयोग कर सकते हैं जैसे हम इसका उपयोग बैटरी स्टेट, स्टेटस आदि जैसी कई अन्य चीजों का पता लगाने के लिए कर सकते हैं। आइए देखें कि हम इसे अपने एप्लिकेशन में कैसे कर सकते हैं। हम अपने एप्लिक

  1. एंड्रॉइड में दी गई रेंज में रैंडम नंबर कैसे जनरेट करें? एंड्रॉइड में दी गई रेंज में रैंडम नंबर कैसे जनरेट करें?

    एंड्रॉइड में रेंज-बाउंड रैंडम नंबर जनरेशन यह ट्यूटोरियल दर्शाता है कि उपयोगकर्ता-निर्दिष्ट न्यूनतम और अधिकतम मानों के बीच रैंडम इंटीजर कैसे जनरेट करें, इनपुट वैलिडेशन और एरर हैंडलिंग के साथ। लेआउट (activity_main.xml) <LinearLayout xmlns:android=https://schemas.android.com/apk/res/android and

  1. पायथन प्रोग्राम में कैसे जांचें कि दी गई संख्या फाइबोनैचि नंबर है या नहीं? पायथन प्रोग्राम में कैसे जांचें कि दी गई संख्या फाइबोनैचि नंबर है या नहीं?

    इस लेख में, हम नीचे दिए गए प्रॉब्लम स्टेटमेंट के समाधान के बारे में सीखेंगे: प्रॉब्लम स्टेटमेंट एक संख्या n दिए जाने पर, जांचें कि n फाइबोनैचि नंबर है या नहीं। हम सभी जानते हैं कि nth फाइबोनैचि नंबर पिछले दो फाइबोनैचि नंबर्स का योग होता है। लेकिन वे पुनरावृत्ति संबंध के अलावा एक दिलचस्प संबंध भी प