आप bash से * में / नामक एक फ़ोल्डर को कैसे हटाएंगे?


8

चलो कहते हैं कि मैं नाम का एक फ़ोल्डर था *के तहत /। मुझे पता है कि rm -rf * जैसे सामान्य कमांड काम नहीं करेंगे। कोई मदद?


2
तकनीकी रूप से, rm *उस फ़ोल्डर को हटाने के लिए काम करेगा।
कर्नल पैनिक

जवाबों:


7

इस संक्षिप्त आदेश का उपयोग करें:

rm /\*

1
यह काम नहीं करेगा - यह एक निर्देशिका है।
n

1
इसके बजाय 'rmdir / \ *' का उपयोग करें। अन्य विकल्प 'rm -rf / \ *' का उपयोग करना है। लेकिन अगर आप गलती करते हैं तो बाद वाला खतरनाक है।
सर्ज

14

शेल द्वारा प्रसंस्करण को रोकने के लिए आप एकल-उद्धरण तर्क कर सकते हैं।

rm -r '/*'

सुरक्षित रूप से इसका उपयोग करके परीक्षण करें ls(फ़ाइलों वाले फ़ोल्डर में):

$ ls '*'
ls: *: No such file or directory

इस मामले में, डबल कोट्स भी काम करेंगे, लेकिन अगर इसमें कोई $शामिल होगा, तो वे ऐसा नहीं करेंगे, क्योंकि शेल यह मान लेगा कि यह एक चर है:

$ ls "foo$bar"
ls: foo: No such file or directory
$ ls 'foo$bar'
ls: foo$bar: No such file or directory

GNU के लिए rm, आप --फ़ाइल नाम तर्कों से पहले भी जोड़ सकते हैं ताकि उन्हें तर्कों के रूप में पार्स होने से रोका जा सके। यह आपको -rfसमस्याओं के बिना नामित फ़ाइलों को हटाने की अनुमति देगा ।


की जरूरत नहीं है। आप केवल '*' से बच सकते हैं, इसलिए यह शेल द्वारा विस्तारित नहीं है जैसा कि सर्ग ने उत्तर दिया था।
डेनिर

5
अगर आपको यह पसंद नहीं है तो @darnir आपको इसका उपयोग करने की आवश्यकता नहीं है। लेकिन आपको यह जानना होगा कि सर्ज के दृष्टिकोण (विचार &) का उपयोग करते समय कौन से पात्रों को बचना है , और उन्हें व्यक्तिगत रूप से बचाना है, जो आसानी से एक बार उद्धृत करने से अधिक प्रयास बन सकता है। इसलिए मैं व्यक्तिगत रूप से पलायन से बचने और इस विकल्प को पोस्ट करने पर विचार करता हूं।
डैनियल बेक

3
@ सर्ज मैं नहीं कह रहा हूं कि आपका जवाब बुरा है। यह काम हो जाता है, और स्वीकार कर लिया गया था । हालांकि, अगर विभिन्न पेशेवरों और विपक्षों के साथ कुछ हासिल करने के कई (उचित रूप से अलग) तरीके हैं, तो उन सभी को सूचीबद्ध करने के लिए स्वतंत्र महसूस करें। वे सभी स्थितियों में काम नहीं कर सकते, इसलिए चुनने के लिए विकल्पों का होना अच्छा है। कृपया ध्यान दें कि समान (समान नहीं) मुद्दों वाले उपयोगकर्ता Google के एक प्रश्न पर आ सकते हैं। यह एक अच्छा विचार है कि यदि यह ऐसे प्रश्नों की ओर जाता है जो अधिक लोगों की मदद कर सकते हैं, तो इस दायरे को व्यापक बनाया जा सकता है। व्यापक स्कोप्ड उत्तर लिखना एक शुरुआत है।
डैनियल बेक

1
मेरे पास अपने सभी उत्तरों को स्वीकार करने और उच्चतम व्यथा के साथ आने का कोई लक्ष्य नहीं था। मैं इनमें से कुछ साइटों के साथ कुछ दिन (इस सप्ताहांत) बिताता हूं। पहली धारणा यह थी कि मैं अपने ज्ञान को लोगों के साथ साझा कर सकता हूं, यही कारण है कि मैंने उत्तर प्रदान करना शुरू कर दिया है। SO पर मुझे इन तीन दिनों में 760 अंक मिले। हां, मेरे कुछ उत्तर अलग-अलग बिंदुओं से उच्च गुणवत्ता वाले नहीं थे। लेकिन ये सभी सही थे। लेकिन अब मैं देख रहा हूं कि ज्यादातर लोग जो यहां सवाल करते हैं - वे स्कूली हैं जो खुद एक समाधान खोजने के लिए दूसरा खर्च नहीं करना चाहते हैं। मैं अपना समय किसके लिए बिताऊंगा?
सर्ज

1
@ सर्ज को यकीन नहीं है कि आपकी टिप्पणी क्या है। आपके द्वारा उल्लेख किए जाने के बाद मैंने जो कुछ देखा, उससे आपको साइटों में योगदान देने की एक प्रभावशाली शुरुआत हुई। यदि साइटों का उपयोग करने में मैं आपकी कुछ मदद कर सकता हूं, या कुछ और जिस पर आप चर्चा करना चाहते हैं, तो मुझे बेझिझक चैट पर पिंग करें। मैं UTC + 2 में हूँ, हालांकि, आपको बहुत जल्द उत्तर नहीं मिलेगा। "शुरुआती" सवालों के बारे में: ध्यान रखें कि कुछ जानकारी आसानी से खोजी नहीं जा सकती है। bashयदि आप नहीं जानते कि पूर्ण खोज पृष्ठ को पढ़ने में कुछ समय लगता है।
डैनियल बेक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.