लिनक्स में हाल ही में हटाए गए फ़ाइलों और फ़ोल्डरों को कैसे ढूंढें?


23

मेरे पास एक विशेष फ़ोल्डर ( /home/sam/officedocuments) है जिसमें सैकड़ों फ़ोल्डर्स और फाइलें हैं। मुझे लगता है कि मैंने कुछ फ़ाइलों और फ़ोल्डरों को गलती से हटा दिया लेकिन मुझे यकीन नहीं है।

कैसे पता करें कि कौन सी फाइलें / फ़ोल्डर थे:

  • हाल ही में लिनक्स में हटाया गया?
  • हाल ही में लिनक्स में बदला?

मैं सिर्फ यह जानना चाहता हूं कि कौन सी फाइलें और फोल्डर डिलीट किए गए थे। उन हटाई गई फ़ाइलों और फ़ोल्डरों को पुनर्प्राप्त करना मेरे लिए महत्वपूर्ण नहीं है।

OS: CentOS


1
आपको हमें बताना चाहिए कि आप किस फाइलसिस्टम का उपयोग कर रहे हैं। Ext2, ext3 और ext4 के साथ उदाहरण के लिए, आप शायद ext3grepडिलीट हुई फ़ाइलों के बारे में जानकारी प्राप्त करने के लिए उपयोगिता का उपयोग कर सकते हैं । कुछ स्क्रिप्टिंग के साथ एक सरल एप्लिकेशन को एक साथ रखना संभव होना चाहिए जो विशिष्ट निर्देशिका के आधार पर हटाए गए फ़ाइलों को सूचीबद्ध करता है। इन उपयोगिताओं को हालांकि डिस्क तक कच्ची पहुंच की आवश्यकता होती है और जैसे कि बेहद खतरनाक होते हैं यदि ठीक से उपयोग नहीं किया जाता है ( गैर-अवरुद्ध रीड ओनली ऑपरेशंस पूरी तरह से सुरक्षित होना चाहिए, अगर आपको याद है कि डिस्क पर लिखने से उसी समय चालू ऑपरेशन टूटे हुए / गलत डेटा वापस आ सकता है )।
GoFundMonica - codidact.org 21

जवाबों:


3

... हाल ही में लिनक्स में परिवर्तन?

findसंशोधन समय द्वारा खोज करने के लिए उपयोग करें । उदाहरण के लिए, पिछले 3 दिनों में छुई गई फ़ाइलों को खोजने के लिए:

find /home/sam/officedocuments -mtime -3

"3 दिन से अधिक पुराने" के लिए, का उपयोग करें +3

... हाल ही में लिनक्स में हटाया गया?

बहुत असंभव है। जब कोई फ़ाइल हटा दी जाती है, तो बस चली जाती है। अधिकांश सिस्टम पर, यह कहीं भी लॉग इन नहीं है।


धन्यवाद। 3 दिनों के लिए, मुझे उपयोग करने की आवश्यकता है 3... अंतिम 30मिनटों के लिए मुझे क्या उपयोग करने की आवश्यकता है ?
सुमित गुप्ता Gupta

क्या लिनक्स हमेशा किसी भी फ़ाइल / फ़ोल्डर को हटाने से पहले पुष्टि करता है?
सुमित गुप्ता Gupta

16
"बहुत असंभव है" यह सिर्फ सादा गलत है और इस वजह से मुझे इसे कम करना है । हटाए गए समय को कुछ फ़ाइल सिस्टम में संग्रहीत किया जाता है, इस तरह के एफएस का उदाहरण ext3फाइलसिस्टम है। नीचे शिकार करते समय ext3grep मदद कर सकता है। मुझे Superuser.com/a/433785/132604 मिला है, जिसमें उपयोगिताओं के लिए कुछ जानकारी और लिंक हैं, जिनका उपयोग किया जा सकता है ( संभवतः पुनर्प्राप्त भी ) हटाए गए फ़ाइलों और उनके बारे में जानकारी। जब आप फ़ाइल को हटाते हैं, तो अधिकांश फाइल सिस्टम में, इसे वास्तव में हटाया नहीं जाता है लेकिन इसे उस स्थान के रूप में चिह्नित किया जाता है जिसे मांग में अधिलेखित किया जा सकता है।
GoFundMonica - codidact.org

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

11

आपको शायद Inotify Tools इंस्टॉल करना चाहिए । फिर आप inotifywaitनिर्दिष्ट निर्देशिका के लिए होने वाली घटनाओं को सुनने के लिए कमांड का उपयोग कर सकते हैं ।

विशेष रूप से यदि आप नष्ट की गई फ़ाइलों और फ़ोल्डर का उपयोग करना चाहते हैं, तो इसका उपयोग करें

inotifywait -m -r -e delete dir_name

और इस आउटपुट को किसी फ़ाइल में लॉग इन करें।

आशा है इससे तुम्हारी समस्या का समाधान हो गया होगा


1
इसके लिए सबसे अच्छा तरीका है ध्वनि। होनहार क्ली-ऐप / डेमॉन जिसका नाम iwatch है जिसे आप अपने उत्तर में शामिल करना चाहते हैं। समस्या को हल करने के लिए सही उपकरण का उपयोग करने के लिए +1।
GoFundMonica - codidact.org

ravi, @SampoSarrala - क्या यह लागू है यदि मैं /रूट में फ़ाइलों को देखना चाहता हूं , बढ़ते माउंटिंग / अनमाउंटिंग ड्राइव को ध्यान में रखता हूं ? मुझे लगता है, उस स्थिति में डिलीट लॉग को रखने के लिए एक ही चीज व्यवहार्य होगी जो कर्नेल मॉड्यूल होगी, जो हुक करेगी unlink(देखें stackoverflow.com/questions/8588386/… ); यह भी man inotifywaitबताता है: "--recursive: चेतावनी: ... यह विकल्प ... देखने के दौरान ... एक बड़ा पेड़, इसमें काफी समय लग सकता है। इसके अलावा, ..., प्रति उपयोगकर्ता में अधिकतम मात्रा में घड़ियों की पहुंच होगी।" डिफ़ॉल्ट अधिकतम 8192 है; "
साडाऊ

@sdaau dmesg [| tail]आपको [हाल ही में] mounts / अनमाउंट्स दिखाना चाहिए, यदि आप यही पूछ रहे हैं।
सेलेडमनेडी

मुझे आश्चर्य है कि अगर यह पता लगाने का एक तरीका भी है कि किस प्रक्रिया ने फ़ाइल को हटा दिया (एक क्रॉन जॉब) जहां लागू हो। फाइलों को रहस्यमय तरीके से गायब करने का मामला ...
नागदेव

0

लिनक्स आमतौर पर फ़ाइलों को हटाने से पहले पुष्टि करने के लिए नहीं कहता है, यह मानते हुए कि आप rmकमांड लाइन से उपयोग कर रहे हैं ।

अंतिम 30 मिनट में संशोधित फ़ाइलों को खोजने के लिए, touch --date="HH:MM" /tmp/reference30 मिनट पहले (जहाँ HH: MM 30 मिनट पहले से मेल खाती है) से टाइमस्टैम्प नामक संदर्भ बनाने के लिए फ़ाइल का उपयोग करें। फिर find /home/sam/officedocuments -newer /tmp/referenceसंदर्भ की तुलना में नई फ़ाइलों को खोजने के लिए उपयोग करें।

यदि आपने GUI उपकरण का उपयोग करके फ़ाइलें हटा दी हैं, तो वे अभी भी "कचरा कर सकते हैं" किसी तरह का हो सकता है। यह निर्भर करता है कि आप डेस्कटॉप वातावरण के लिए क्या उपयोग कर रहे हैं। यदि आप rmकमांड लाइन से उपयोग करते हैं, तो इस उत्तर में वर्णित उपयोगिताओं में से एक का प्रयास करें । (हैट टिप उस लिंक के लिए @Sampo पर।)


बस "हमेशा के लिए चला गया" मत कहो ... किसी अन्य उत्तर पर टिप्पणी देखें। अब मुझे ऐसा लगता है: xkcd.com/386 :)
GoFundMonica - codidact.org
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.