Rddir और rm -r के बीच अंतर


9

मैं आमतौर पर rm का उपयोग करके निर्देशिकाओं को हटाता हूं :

rm -r myDir

हालाँकि मुझे एक और आदेश के बारे में पता है, rmdir , जो कि काम करने के लिए लगता है:

rmdir myDir

इन दोनों आदेशों के बीच क्या अंतर है और प्रत्येक का उपयोग कब किया जाना चाहिए?


2
यदि उपनिर्देशिका में फाइलें हैं तो क्या आपका rmdir काम करता है?
जेफ स्कालर

1
एपिनेम सिस्टम कॉल भी देखें rmdir(2)जो केवल खाली निर्देशिकाओं को हटा सकता है।
डेविड फ़ॉस्टर

4
वैसे, उपयोग करने के लिए "सही" प्रक्रिया है rm -r: (1) कमांड में टाइप करें, लेकिन इसे दर्ज न करें (2) अपने हाथों को कीबोर्ड से दूर ले जाएं (3) काउंट टू फाइव (4) हिट एंटर। मैंने सभी खतरनाक कमांडों के साथ ऐसा कुछ करना शुरू कर दिया है, मुझे यह देखने का मौका देने के लिए कि मैं क्या कर रहा हूं, सुनिश्चित करें कि मैंने चीजों को सही तरीके से टाइप किया है, इस बारे में सोचें कि क्या अप्रत्याशित परिणाम हो सकते हैं, आदि। उदाहरण के लिए, पहले मेरी कमांड को मिटाने और कुछ अतिरिक्त जांच करने के लिए।
अंजब

3
@ काजब rm -rf ~ /*- मेरे घर निर्देशिका को साफ करें। या प्रतीक्षा करें, शायद सिस्टम को साफ कर दें। डबल चेक करने के लिए हमेशा अच्छा;)
टॉम कारपेंटर

1
@ajb सूचना है कि rmdirऔर rm -rदो तार कर रहे हैं एक ही लंबाई की :-)
Kusalananda

जवाबों:


14

rm -rएक निर्देशिका और उसकी सभी सामग्रियों को हटा देता है; rmdirयदि निर्देशिका खाली है तो केवल एक निर्देशिका को हटा देगा। मैं एक निर्देशिका और इसकी सभी सामग्री को हटाने के लिए निम्नलिखित का उपयोग करना पसंद करता हूं:

rm -rf <directory_to_be_removed>

17
ध्यान दें, कि आपको आमतौर पर उपयोग नहीं करना चाहिए -fयदि आपको आवश्यकता नहीं है। -rfहर बार इसका उपयोग करना आसान है, लेकिन यह सभी सुरक्षा जांचों को निष्क्रिय कर देता है।
एलो

5
-1 rm के -fध्वज की अनैच्छिक अनुशंसा के लिए, जिसमें अप्राप्य, अपरिवर्तनीय परिणाम हो सकते हैं
cat

तो rmdirबस है rm -d?
स्टेन स्ट्रॉम

@StanStrum -dएक मानक विकल्प नहीं है rm
कुसलानंद

@cat सामान्य रूप सेrm आदेश में ये परिणाम हो सकते हैं। -fजब तहत चल ध्वज उपयोगी है set -eएक स्क्रिप्ट में। मैं सहमत हूँ कि बिना सोचे समझे उपयोग करना अनावश्यक है
कुसलानंद

1

rm -rजब आप किसी निर्देशिका और उसकी सभी सामग्री को पुन: प्राप्त करना चाहते हैं, या जब लक्ष्य एक निर्देशिका या फ़ाइल हो सकती है और आप इसे हटाना चाहते हैं, तो इसका उपयोग करना चाहिए ।

rmdirखाली निर्देशिका को हटाने के लिए आपको उपयोग करना चाहिए ।

rmdirक्योंकि यह गैर खाली निर्देशिका और फाइल को दूर करने के लिए मना कर दिया आदेश उपयोगी है। यह उन स्थितियों में एक सुरक्षा पकड़ने के रूप में कार्य करता है, जहाँ आप पूरी तरह से सुनिश्चित करना चाहते हैं कि आप जो हटा रहे हैं वह एक निर्देशिका है और इसे हटाने से पहले निर्देशिका खाली है (उदाहरण के लिए किसी स्क्रिप्ट में) और इसे एक त्रुटि स्थिति के रूप में मानना ​​चाहते हैं। अन्यथा।

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