~ नाम के फोल्डर को हटाना


30

इस का आउटपुट है ls -l

ls -l
total 53484
drwxr-xr-x 3 root root     4096 2011-02-10 05:59 ~
-rw-r--r-- 1 root root 54313810 2011-02-13 05:09 jobs.jar
-rw-r--r-- 1 root root   384035 2011-02-15 05:33 jobsLog.out

मैं ऐसा नहीं कर सकता rm -rf ~ क्योंकि इससे मेरी होम डायरेक्टरी हट जाएगी।

मुझे क्या करना चाहिए? यह मेरे लिए कोई समस्या नहीं है, लेकिन सिर्फ एक आंख का दर्द है।


8
rm -rfअगर आप गलत टाइप करते हैं तो मैं असफलता की संभावना के साथ कुछ लिखने से बचूंगा। अपने ./~फ़ोल्डर में प्रवेश करने और एक निर्देशिका को स्थानांतरित करने से पहले वहां से इसकी सामग्री को हटाने पर विचार करें और rmdir ./~~ निर्देशिका को हटाने के लिए चल रहा है।
adnnfish

जवाबों:


58

rm -R ./~

यह ~वर्तमान फ़ोल्डर में इसकी तलाश करेगा ।


वाह, सीधे चीजों को देखने का तरीका! प्रशंसा!
theTuxRacer

2
यह उत्तर सही है, लेकिन मुझे लगता है कि ओली का उत्तर बेहतर है क्योंकि यह अधिक सुरक्षित है। यदि आप इस आदेश को थोड़ा गलत करते हैं, तो आप अपने सिस्टम को स्थायी रूप से मिटा देंगे।
HDave

44

मैंने मूर्खतापूर्ण गलतियाँ की हैं rm इसलिए यहाँ कुछ सुझाव दिए गए हैं जिन्हें मैंने आजमाया है और आपको दुर्घटनाओं से सुरक्षित रखने का प्रयास किया है:

  1. नॉटिलस जैसे चित्रमय समाधान का उपयोग करें। शीतल-इसे कचरे को हटाएं। तब जब आप जानते हैं कि आप अपने $HOMEकूड़ेदान में नहीं गए हैं (सब कुछ दुर्घटनाग्रस्त हो गया होगा और कायरता दिख रही होगी), अपना कचरा खाली कर दें।

  2. डिलीट के बजाय हटो। निर्देशिका का नाम बदलें mv, जैसे:

    mv ./\~ ./a-nice-sensible-directory-name

    फिर इसे हटा दें।

  3. यदि संदेह है, -iतो संभावित फ़ुबर्स से निपटने के दौरान ध्वज का उपयोग करें । यह आपको हटाए गए हर फ़ाइल के लिए संकेत देगा और आपको बहुत जल्दी पता होना चाहिए कि क्या कुछ बुरा होने वाला है।

    oli@bert:~/Desktop$ rm -rfi ./del/
    rm: descend into directory `./del'? y
    rm: remove regular file `./del/output2.pdf'?

1
खिचड़ी भाषा GUI, इसका ssh टर्मिनल: P के बारे में अच्छा विचार है mv। मुझे लगता है कि मुझे rm उर्फ ​​को ए के साथ बनाना चाहिए rm -i
theTuxRacer

7
आप ssh://user@ip/folderनॉटिलस में बंध सकते हैं । सब कुछ के लिए काम नहीं करता है (जैसे अगर आपको सूडो की जरूरत है), लेकिन वहां आप जाते हैं। अलियासिंग -iएक दोधारी तलवार है। यह उपयोगी है, लेकिन जब आप बहुत सारी फाइलें करते हैं तो यह काफी परेशान करता है। विचार -Iभी करें। और man rmअधिक युक्तियों के लिए देखें।
ओली

चाल विचार के लिए +1। अब मुझे आश्चर्य है कि rmउस () के लिए चाल के लिए एक ड्रॉप-इन प्रतिस्थापन क्यों नहीं है ~ / .ट्राश
श्रीवत्सआर

19

शानदार समस्या :)

आप टिल्ड से बचकर निर्देशिका को हटा सकते हैं :

rm -rf \~

यह सभी प्रकार के विशेष पात्रों के लिए काम करता है।



6

बस एक और, थोड़ा और अधिक जटिल, इसे करने का तरीका इनोड संख्या का उपयोग कर रहा है:

$ ls -li
total 24
 7146369 drwxr-xr-x   4 user  staff   136 Jan 19 21:50 ~
$ find . -xdev -inum 7146369 -exec rm -rf {} \;

पेशेवरों

  • यह आपके पास हो सकने वाले फैंसी नाम के साथ काम करता है।
  • सुरक्षित होना चाहिए क्योंकि इनोड संख्या अद्वितीय हैं ( -xdev: अन्य फाइल सिस्टम पर निर्देशिकाओं को न उतारे) और आप खोज को पहले परीक्षण कर सकते हैं, बस मामले में, हटाते हुए -exec rm -rf {} \;

विपक्ष

  • find .बहुत सारी फ़ाइलों और / या निर्देशिकाओं के साथ एक निर्देशिका में करने में बहुत समय लगेगा, और डिस्क रीडिंग होगी।

मुझे हमेशा से इनोड्स में दिलचस्पी थी, और सोच रहा था कि क्या यह करना संभव है =)
TheTuxRacer

बेशक, यह तभी काम करता है अपने वर्तमान फाइल सिस्टम एक आइनोड की अवधारणा (सभी नहीं फ़ाइल सिस्टम उबंटू का समर्थन करता है इस अवधारणा है - हालांकि उन है कि नहीं है के सबसे VFAT और NTFS की तरह देशी यूनिक्स फ़ाइल सिस्टम नहीं हैं) है
बिली ONeal
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.