file - टर्मिनल(बैश खोल) के माध्यम से फ़ाइलों और निर्देशिकाओं को जल्दी से कैसे हटाएं




terminal folder (3)

तो मैं कुछ निर्देशिकाओं और फ़ाइलों को छोड़कर निर्देशिका में सभी फ़ाइलों को हटाने के लिए पूरी तरह से देख रहा था, मैं चारों ओर रखना चाहता था। बहुत खोज के बाद मैंने खोज का उपयोग करके इसे करने का एक तरीका तैयार किया।

find -E . -regex './(dir1|dir2|dir3)' -and -type d -prune -o -print -exec rm -rf {} \;

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

टर्मिनल विंडो से:

जब मैं rm कमांड का उपयोग करता हूं तो यह केवल फाइलों को हटा सकता है।
जब मैं rmdir कमांड का उपयोग करता हूं तो यह केवल खाली फ़ोल्डर को हटा देता है।

अगर मेरे पास फ़ाइलों और फ़ोल्डरों के साथ फाइलों और फ़ोल्डरों के साथ घोंसला वाली निर्देशिका है, तो क्या सभी सख्त कमांड टाइपिंग के बिना सभी फाइलों और फ़ोल्डरों को हटाने का कोई तरीका है?

यदि इससे कोई फर्क पड़ता है, तो मैं टर्मिनल से मैक बैश खोल का उपयोग कर रहा हूं, माइक्रोसॉफ्ट डॉस या लिनक्स नहीं।


हाँ वहाँ है। -r विकल्प rm को पारदर्शी होने के लिए कहता है, और पूरे तर्क पदानुक्रम को अपने तर्कों पर रूट करता है; दूसरे शब्दों में, यदि कोई निर्देशिका दी जाती है, तो यह अपनी सभी सामग्री को हटा देगी और फिर प्रभावी ढंग से एक rmdir

आपको पता होना चाहिए कि अन्य दो विकल्प हैं- -i और -f-i मैं nteractive के लिए खड़ा है; यह प्रत्येक फ़ाइल को हटाने से पहले आपको rm प्रॉम्प्ट बनाता है। एफएफ के लिए खड़ा है; यह आगे बढ़ता है और पूछे बिना सबकुछ हटा देता है। -i सुरक्षित है, लेकिन -f तेज है; केवल तभी इसका उपयोग करें यदि आप पूरी तरह से सुनिश्चित हैं कि आप सही चीज़ को हटा रहे हैं। आप इन्हें निर्दिष्ट कर सकते हैं या नहीं; यह एक स्वतंत्र सेटिंग है।

और सामान्य रूप से, आप स्विच जोड़ सकते हैं: rm -r -i सिर्फ rm -ri , और rm -r -f rm -rf

यह भी ध्यान रखें कि आप जो भी सीख रहे हैं वह प्रत्येक यूनिक्स ओएस: ओएस एक्स, लिनक्स, फ्रीबीएसडी आदि पर bash पर लागू होता है। असल में, rm का सिंटैक्स प्रत्येक यूनिक्स ओएस पर हर शेल में काफी समान होता है। ओएस एक्स, हुड के तहत, वास्तव में एक बीएसडी यूनिक्स प्रणाली है।


rm -rf some_dir

-r "रिकर्सिव" -एफ "बल" (पुष्टिकरण संदेश दबाएं)

सावधान रहे!







rmdir