सवाल टर्मिनल में एक गैर-खाली निर्देशिका को कैसे हटाएं?


मैं निम्नलिखित निर्देशिका को कैसे हटा सकता हूं?

मैंने लिखा:

rmdir lampp

यह त्रुटि आती है:

rmdir: failed to remove `lampp': Directory not empty

निर्देशिका में सभी फाइलों को हटाने और निर्देशिका फ़ोल्डर को हटाने के लिए कोई आदेश है?


540
2017-11-16 04:37


मूल


मैं उपरोक्त सभी विस्तृत आदेशों का उपयोग करके "नया फ़ोल्डर" जैसी निर्देशिका को हटाने में असमर्थ हूं। यह दोहरा शब्द है। लेकिन मैं उस निर्देशिका को हटाना चाहता हूं। किसी भी सुझाव का स्वागत किया जाएगा। टी। दिवाकर, बेंगलुरु, भारत
फ़ाइल नाम में इसकी रिक्त स्थान, 'उद्धरण'> rmdir 'नया फ़ोल्डर' <फिर फ़ोल्डर डिस्प्ले का उपयोग करने का प्रयास करें, या गैर-दृश्यमान वर्णों के लिए बचने वाले वर्णों का उपयोग करें। - Ken Mollerup
बस कर रहा rm -r lampp करूँगा। - John Strood


जवाब:


नीचे दिए गए आदेश का प्रयोग करें:

rm -rf lampp

यह सभी फाइलों और फ़ोल्डर्स को निहित करता है lampp निर्देशिका।

यदि उपयोगकर्ता को फ़ोल्डर को हटाने की अनुमति नहीं है:

जोड़ना sudo आदेश की शुरुआत में:

sudo rm -rf folderName

अन्यथा, बिना sudo आपको अनुमति वापस कर दी जाएगी अनुमति अस्वीकार कर दी जाएगी। और उपयोग करने की कोशिश करने के लिए यह एक अच्छा अभ्यास है -f निर्देशिका हटाते समय:

sudo rm -r folderName

नोट: यह माना जा रहा है कि आप पहले से ही उस फ़ोल्डर के उसी स्तर पर हैं जो आप टर्मिनल में हटाना चाहते हैं, यदि नहीं:

sudo rm -r /path/to/folderName

एफवाईआई: आप अक्षरों का उपयोग कर सकते हैं -f, -r, -v:

  • -f = गैर-मौजूद फ़ाइलों को अनदेखा करने के लिए, कभी भी संकेत न दें
  • -r = निर्देशिकाओं और उनकी सामग्री को दोबारा हटाने के लिए
  • -v = यह बताने के लिए कि क्या किया जा रहा है

757
2017-11-16 05:19



मेरी विनम्र राय में, यह एक अच्छा अभ्यास है कि पहले प्रयास पर "एफ" कभी नहीं जोड़ा जाए। इसका उद्देश्य कुछ चेतावनी संकेतों को अनदेखा करना है जो महत्वपूर्ण हो सकते हैं, खासकर यदि आपने गलती से गलत निर्देशिका से / इसे किया है। मेरी राय में पहले "एफ" के बिना प्रयास करना अच्छा होता है, फिर केवल अगर आपको बहुत से चेतावनी संकेत मिलते हैं और आप सुनिश्चित हैं कि उन सभी को अनदेखा करना ठीक है, तो Ctrl + C इससे बाहर निकलें और " च "। - thomasrutter
@BKSpurgeon जब तक नहीं आप गलती से टाइप करें --no-preserve-root बहुत। - muru
@ थॉमसट्रटर ... सहमत हैं। एक फाइल "xxx" मालिक: जड़  और समूह: जड़ के साथ हटाया जा सकता है -f स्विच; और बिना sudo। यह बिना संदेश है -f: "आरएम: लिखने-सुरक्षित नियमित फ़ाइल '/home/william/.cache/netbeans/v08.01/tmp/xxx' हटाएं? _ "। धीरे-धीरे _Tread। - will


rm -R lampp

हालांकि, आपको इस तरह के रिकर्सिव कमांड से सावधान रहना होगा, क्योंकि आपके इरादे से गलती से बहुत अधिक हटाना आसान है।

एंटर दबाए जाने से पहले हमेशा यह जांचना एक अच्छा विचार है कि आप कौन सी निर्देशिका में हैं, और क्या आपने सही तरीके से आदेश टाइप किया है या नहीं।

सुरक्षित संस्करण

rm -R -i lampp

जोड़ा जा रहा है -i यह थोड़ा सुरक्षित बनाता है, क्योंकि यह आपको हर हटाने पर संकेत देगा। हालांकि, अगर आप कई फाइलों को हटा रहे हैं तो यह बहुत व्यावहारिक नहीं होगा। फिर भी, आप इसे पहले आजमा सकते हैं।

के बारे में नोट करें  -f  विकल्प:

कई लोग उपयोग करने का सुझाव देते हैं -f (इसे मिलाकर -Rf या -rf), दावा करते हुए कि यह कष्टप्रद संकेतों से छुटकारा पाता है। हालांकि, सामान्य मामलों में आपको इसकी आवश्यकता नहीं होती है, और इसका उपयोग करने से आप कुछ समस्याएं दबा सकते हैं कर के बारे में जानना चाहते हैं। जब आप इसका उपयोग करते हैं, तो आपको चेतावनी नहीं दी जाएगी कि क्या आपके तर्क एक गैर-मौजूदा निर्देशिका या फ़ाइल (ओं) की आपूर्ति करते हैं: आरएम चुपचाप कुछ भी हटाने में असफल हो जाएगा। एक सामान्य नियम के रूप में, बिना पहले प्रयास करें -f: यदि आपके तर्कों में समस्याएं हैं, तो आप देखेंगे। यदि आप बिना पहुंच के फाइलों के बारे में बहुत से संकेत प्राप्त करना शुरू करते हैं, तो आप इसे आजमा सकते हैं -f। वैकल्पिक रूप से, किसी उपयोगकर्ता (या सूडो का उपयोग कर सुपरसुर) से कमांड चलाएं जिसमें उन फ़ाइलों और निर्देशिकाओं के लिए पूर्ण अनुमतियां हैं जिन्हें आप पहली बार इन संकेतों को रोकने के लिए हटा रहे हैं।


89
2017-11-16 04:56



नोट: लोअरकेस -r भी इस्तेमाल किया जा सकता है और यहां एक ही प्रभाव है। मैं केवल अपरकेस का उपयोग करता हूं -R क्योंकि यह अन्य आदेशों के साथ संगत है जैसे मैं उपयोग करता हूं grep तथा chmod, जिनमें से कुछ केवल अपरकेस फॉर्म का समर्थन करते हैं। - thomasrutter
यह एंड्रॉइड पर adb (एंड्रॉइड डीबग ब्रिज) का उपयोग कर मेरे लिए काम किया। आरएम-आरएफ की कोशिश कर रहा था लेकिन यह काम नहीं किया। आरएम-आर का उपयोग करना पड़ा। धन्यवाद। - raddevus


सीएलआई मोड के माध्यम से निर्देशिका को हटाने के कई तरीके हैं। यह इस बात पर निर्भर करता है कि आप किस तरह से सहज हैं।

rm -rvf /path/to/directory  
  • -r  = निर्देशिकाओं और उनकी सामग्री को दोबारा हटा दें
  • -v  = समझाओ कि क्या किया जा रहा है
  • -f  = nonexistent फ़ाइलों को अनदेखा करें, कभी संकेत नहीं

यदि आप लिनक्स में नए हैं, तो कमांड के मैन पेज का उपयोग करें (man rm) अधिक विकल्प और अधिक सटीकता के लिए।


21
2017-11-16 05:38





मुझे आज उसमें कुछ परेशानी हो रही थी, लेकिन मैंने इसे सूडो से पराजित कर दिया।

चेतावनी: बहुत कम सुनिश्चित करें कि आप नीचे दिए गए आदेश का उपयोग करने से पहले पूरी चीज को मिटाना चाहते हैं।

$ sudo rm -R [Directory name]

मैंने आज सफलतापूर्वक यह किया, और कई गैर-खाली निर्देशिकाओं को हटा दिया जिनकी मैंने पुष्टि की कि मुझे नहीं चाहिए / आवश्यकता है।

मैं 14.04 एलटीएस का उपयोग कर रहा हूँ


-2
2017-09-28 23:00



"SUDO" एक कमांड नहीं है - "सुडो" है। फिर भी, आप एक गैर-खाली निर्देशिका को हटाने के लिए सूडो का उपयोग नहीं करते हैं, आप इसका उपयोग उस फ़ाइल को हटाने के लिए करते हैं, जिसका स्वामित्व आपके स्वामित्व में नहीं है। इसे निश्चित रूप से करना खतरनाक और बहुत स्मार्ट नहीं है, क्योंकि आपको उन फ़ाइलों को अंधाधुंध रूप से हटाना नहीं चाहिए जिनके पास आपके स्वामित्व नहीं हैं। - Marty Fried


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

#became super user
sudo su -

#deleted contents of, and then the directory, harvey_snake/
rm -R harvey_snake/

-3
2017-09-17 17:35



मुझे नहीं लगता कि आपको चाहिए sudo su यहाँ। बस उपसर्ग करें rm के साथ आदेश sudo। सुरक्षा के लिए यह एक अच्छा अभ्यास है (सूडो के समर्थकों के अनुसार) जरूरी नहीं होने पर रूट प्रॉम्प्ट में नहीं रहना चाहिए। - thomasrutter
साथ ही, बहुत ही निश्चित रहें कि आप कौन सी निर्देशिका में हैं sudo rm -r। - Tony Martin
आप रूट-रिश्तेदार कमांड बना सकते हैं (/directory_name) इसलिए इसमें कोई संदेह नहीं हो सकता कि आप किस निर्देशिका को हटा रहे हैं। - Yaakov Ainspan