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


331

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

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

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

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


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

जवाबों:


759
rm -rf some_dir

-r "पुनरावर्ती" -f "बल" (पुष्टि संदेशों को दबाएं)

सावधान रहे!


26
+1 और खुशी है कि आपने "सावधान रहें!" भाग ... निश्चित रूप से एक "सॉज़ल" आदेश है जो जल्दी से एक अच्छे दिन को एक बुरे में बदल सकता है .. अगर लापरवाही से मिटा दिया जाए।
इसका

5
जैसे न करें "# rm -rf /" आपको पछतावा होगा कि:
DarthVader

1
@itsmatt: आप जानते हैं कि वे क्या कहते हैं ... किसी को सॉल्ज़ल दें, और अचानक हर समस्या मज़े की तरह दिखती है!
जिम लेविस

164
एक मैक पर? इसके बजाय ऐसा करें: brew install trashतब trash -rf some_dirयह अवांछित निर्देशिका को आपके गायब हो जाने के बजाय केवल प्रेस्टीज -स्टाइल को ईथर में बदल देगा। ( स्रोत )
zakdances 19

4
"कचरा" दृष्टिकोण महान है!
अनोप्रेस

59
rm -rf *

वर्तमान निर्देशिका में सब कुछ (फ़ोल्डर और फ़ाइलें) निकाल देगा।

लेकिन सावधान रहना! केवल इस आदेश को निष्पादित करें यदि आप बिल्कुल सुनिश्चित हैं, कि आप सही निर्देशिका में हैं।


17
rm -rf बहुत जोखिम भरा कमांड है, आपको हमेशा सावधान रहना चाहिए और फ़ोल्डर को हटाने के लिए निर्दिष्ट करना चाहिए।
eomeroff

8
के बारे में ls -R *सबसे पहले कैसे चल रहा है देखने के लिए हटा दिया जाएगाrm -rf *
हम्माद खान

यह मेरे लिए ठीक काम करता है, धन्यवाद।
मोनिका हुबनेर

14

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

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

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

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


1
यद्यपि उपरोक्त सभी विकल्प सूचीबद्ध यूनिक्स के सभी स्वादों के बीच मानक हैं, कुछ अंतर भी हैं। उदाहरण के लिए, OS X (लेकिन लिनक्स नहीं है) "rm -d", जो फ़ाइलों या खाली निर्देशिकाओं को हटा देता है। फिर भी, इस बात के लिए +1 कि OS X आंतरिक रूप से BSD है।
डेविड गेलर

सच --- पोसिक्स सब्मिट (बहुत ज्यादा) यूनिक्स में लगातार काम करने की गारंटी है, लेकिन इसके बाहर कुछ भी हो सकता है या नहीं।
एंटाल स्पेक्टर-ज़बस्की

2

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

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

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.