मैं एक निर्देशिका और उसकी सभी सामग्री कैसे निकालूं?


141

बैश में मुझे पता है कि सभी है

rmdir directoryname

निर्देशिका को हटा देगा, लेकिन केवल अगर यह खाली है। क्या उपनिर्देशिकाओं को हटाने के लिए मजबूर करने का एक तरीका है?

जवाबों:


216

निम्न आदेश आपके लिए यह करेंगे। हालांकि सावधानी बरतें।

rm -rf directoryname

52
"-f" "--फोर्स" है जो कुछ पवित्रता जांच और शीघ्रता से आगे निकल जाता है। के साथ शुरू करने के लिए एक सुरक्षित आदेश होगा rm -r directoryname
जिम पेरिस

किसी कारण से मुझे rm: invalid option -- rrm -r <directoryname> के साथ एक निर्देशिका को हटाने का प्रयास करते समय एक त्रुटि मिलती है ।
सनस्पैन

@Sunspawn इस संबंधित प्रश्न की जाँच करें कि क्या यह मामला है।
मार्क.2377

1
@JimParis मुझे लगता है कि शब्द "सुरक्षित" सापेक्ष है। मान लीजिए आप एक दूरस्थ कंप्यूटर पर चलाने के लिए एक स्क्रिप्ट लिख रहे हैं। उस स्क्रिप्ट में एक कमांड है जिसे एक डायरेक्टरी को हटाना है। यहाँ, यह "सुरक्षित" rm -rf directorynameहोगा coz का उपयोग करने के लिए आप अपनी स्क्रिप्ट को निष्पादन रोकना नहीं चाहेंगे, क्योंकि यह उपयोगकर्ता इनपुट की प्रतीक्षा कर रहा है। बेशक, आपको यह सुनिश्चित करना होगा कि निर्देशिका को हटाने से कोई नुकसान नहीं होगा।
जॉन रेड

7

यदि rm -rf directorynameआप विफल रहता है, का उपयोग करने का प्रयास करें rm -R -f directoryname, या rm --recursive -f directoryname

यदि आपके पास इन के साथ कोई भाग्य नहीं है, तो आपको आरएम को पुनर्स्थापित करने या गोले को स्विच करने पर विचार करना चाहिए।


ये मेरे rm मैन पेज पर उपलब्ध विकल्प थे, मैंने इसे man rmपुनरावर्ती विलोपन और बल विकल्पों पर अपने विकल्प देखने के लिए टाइप करके देखा ।
सतेहेटर

क्या आपका rmआदमी पेज लिस्ट करता है -r? यह क्या करता है? (इसे एक निर्देशिका में आज़माएं जो आप केवल परीक्षण उद्देश्यों के लिए बनाते हैं, इसमें केवल डमी फ़ाइलें (और शायद उपनिर्देशिका) हैं।) आप किस ऑपरेटिंग सिस्टम का उपयोग कर रहे हैं?
जी-मैन

पुनश्च अगर rm -rकाम नहीं करता है, यह एक ओएस मुद्दा होगा, न कि एक शेल मुद्दा। (कड़ाई से बोलते हुए, यह rmआपके द्वारा उपयोग किए जा रहे संस्करण के साथ एक समस्या होगी , इसलिए आप इसका एक भिन्न संस्करण स्थापित करके rmया अपने सिस्टम को खोजकर यह देख सकते हैं कि आपके पास पहले से ही rmकिसी निर्देशिका में कोई भिन्न संस्करण है या नहीं /bin।)
जी-मैन

ठीक है। मैं उल्लेख करना भूल गया कि मैं Ubuntu 14.04 पर हूं जब मैं man rmअपने टर्मिनल में भाग गया, तो इसने मुझे lessटेक्स्ट व्यूअर के साथ एक टेक्स्ट फाइल दी । मैंने स्क्रॉल किया एक पूरे के साथ एक इंडेंट एंट्री मिली जिसमें -R और --recursive ऑप्शन थे, जो कि -r ऑप्शन के साथ cozied था , यह दर्शाता है कि ये सभी तर्क समान हैं।
सत्तारूढ़

1
संपादित करें: क्या आपने कोशिश की हैsudo rm -r directoryName ? बुनियादी आदेशों का अलिखित नियम यह है कि -rएक प्रोग्राम आपके फाइल सिस्टम (आपके द्वारा कभी भी चुने जाने की शुरुआत से!) पर हर फाइल पर पुनरावृत्ति चलाने की अनुमति देगा और वह भी खतरनाक होने पर भी, जबरदस्ती चीजें करेगा । 'cd', 'mv', 'ls' ज्यादातर इस सिद्धांत को सही मानते हैं। ls -r /एक दूजी होने वाली है, और cp -rf / /dev/nullआपके फाइलसिस्टम पर सब कुछ नष्ट कर देगी। <- कभी भी उस कमांड को न चलाएं!
२१
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.