मैं एक फ़ोल्डर क्यों नहीं हटा सकता?


14
Could not remove the folder [Folder name].

Show more details
 Error removing file: Directory not empty

Cancel-Skip All-Skip

मैंने इन फ़ोल्डरों को टर्मिनल से हटाने की कोशिश की:

rm -r

2
यदि वह त्रुटि आउटपुट नॉटिलस से है, तो आप अपने प्रश्न में स्क्रीन-शूट जोड़ सकते हैं। इसके अलावा, rm -rटर्मिनल से आउटपुट क्या है ? क्या आपने इस पोस्ट के जवाबों के साथ कोशिश की है ?
लुसियो

1
rm -rfइसके बजाय का उपयोग करें
निकानोर

मैं rm -Rfपुनरावर्ती निर्देशिकाओं को हटाने के लिए उपयोग किया गया है , यह काम आपके लिए हो सकता है। अपरकेस आर का अर्थ होता है रिकर्सिव, मैन पेज देखेंman rm
पुन: प्रकाशित करें

1
क्या आपके पास इस निर्देशिका को निकालने की अनुमति है? कृपया ls -laइस विकल्प को छोड़ने के लिए इसे निष्पादित और पेस्ट करें।
पुनर्विचार

फ़ोल्डर मुझे लगता है कि पहले खिड़कियों पर हटा दिया गया था और फिर उबंटू पर हटाने की कोशिश की। फिर विंडोज पर डिलीट करने की कोशिश की गई लेकिन त्रुटि हुई। Directory not empty लेकिन इसके सभी खाली वादे। खिड़कियों पर यह त्रुटि कहती हैError x00000
tepheno

जवाबों:


10

क्या आपने कोशिश की sudo rm -r? किस प्रकार की फाइलें हैं? आप पहले सभी फ़ाइलों को भी हटा सकते हैं फिर फ़ोल्डर को हटा सकते हैं। यह अतिरिक्त काम है, लेकिन कभी-कभी यह काम पाने के लिए इसके लायक है।

sudo सुपरसुअर क्रियाओं के लिए है।


मुझे पता है कि sudo और फ़ोल्डर में केवल उप फ़ोल्डर के अंदर कोई फ़ाइल नहीं है। कलाकार फ़ोल्डर तो एल्बम फ़ोल्डर नहीं MP3s अंदर। बस फोल्डर।
टिफेनो

यह दोस्त काम करता है ...
एंजेलिन नादर

9

मैं एक btrfs फाइलसिस्टम पर एक फ़ोल्डर के साथ यह समस्या थी। माउंट पॉइंट्स और lsof की जाँच करना सामान्य चीजें हैं। मेरे मामले में यह एक पुराने बग के कारण हुआ भ्रष्टाचार था, क्योंकि यह तय था:

सामान्य चीजों के लिए जाँच करें:

  • lsof + D <पाथ> - यह l i s t o o pen f iles होगा। आप एक फ़ोल्डर को नहीं हटा सकते हैं जिसमें खुली फाइलें हैं, हालांकि यह सामान्य रूप से थोड़ी अलग त्रुटि देगा: "डिवाइस या संसाधन व्यस्त"। ध्यान दें कि यदि आप "+ D <पथ>" छोड़ते हैं, तो lsof सभी फाइल सिस्टम पर सभी फ़ोल्डरों के लिए एक सूची दिखाएगा - जो समय बर्बाद करेगा। ;)
  • माउंट : यह आपको वर्तमान में माउंट किए गए फ़ाइल सिस्टम दिखाएगा। आप सक्रिय रूप से माउंट किए गए माउंटपॉइंट या उसके मूल फ़ोल्डर को हटा नहीं सकते।
  • btrfs उप सूची <path> : एक माउंट बिंदु के समान, आप btrfs- विशिष्ट कमांड का उपयोग करके btrfs सबवोल्यूम को हटा नहीं सकते: btrfs सबवोल्यूम हटाएं <पथ>

भ्रष्टाचार का हल

भ्रष्टाचार के मामले में जहां इसे आसानी से तय नहीं किया जा सकता है, मूल वर्कअराउंड बैक अप करने के लिए है, फाइल सिस्टम को प्रारूपित करें, और फिर पुनर्स्थापित करें (खराब डेटा को छोड़कर)। फाइलसिस्टम में आपके पास कितना डेटा है, इसके आधार पर यह एक काम हो सकता है। : - /

मेरे मामले में समस्या फ़ोल्डर एक सबवोल्यूम के अंदर था, इसलिए मैं ऊपर करने में सक्षम था, लेकिन पूरे फाइल सिस्टम के बजाय केवल सबवोल्यूम हटाकर। मैंने अपने डेटा का बैकअप लिया और सबवोल्यूम को हटा दिया: btrfs उप डेल <सबवॉल्म-पथ> । मैं तब समस्या फ़ोल्डर से बाहर निकलकर एक नए सबवोल्यूम में पुनर्स्थापित करने में सक्षम था।

I_size का भ्रष्टाचार

मेरे मामले में कारण i_size का भ्रष्टाचार पाया गया , जहां यह गैर-शून्य था। Btrfs यह बताने के लिए i_size का उपयोग करता है कि फ़ोल्डर खाली है या नहीं। इस पर जाँच करने के लिए, चलाएँ:

stat -c %s <foldername>

Btrfs में एक खाली फ़ोल्डर का i_size शून्य होना चाहिए। आमतौर पर यह 4k है।

सम्बंधित लिंक्स:

https://btrfs.wiki.kernel.org/index.php/Problem_FAQ#I_cannot_delete_an_empty_directory


6

cdनिर्देशिका में प्रयास करें , फिर सभी फ़ाइलों का उपयोग करके हटा दें rm -rf *। फिर निर्देशिका से बाहर जाने का प्रयास करें और निर्देशिका rmdirको हटाने के लिए उपयोग करें।


यह मेरे लिए खूबसूरती से काम करता है +1 धन्यवाद आदमी
एंड्रयूएल 64

मैंने यह कोशिश की, और त्रुटि संदेश मिला: "तर्क सूची बहुत लंबी है"
Rafael_Espericueta

1

प्रयत्न sudo rm -rf [Folder name]

यदि यह अभी भी निर्देशिका प्रदर्शित नहीं कर रहा है तो इसका मतलब है कि निर्देशिका का उपयोग किया जा रहा है। इसे बंद करने का प्रयास करें या जांचें कि कौन सा प्रोग्राम इसका उपयोग कर रहा है फिर कमांड का उपयोग करें।

मेरे लिए काम किया जब मैं एकता परियोजना को हटाने की कोशिश कर रहा था और इसका उपयोग एकता हब द्वारा किया गया था। बस एकता हब को बंद कर दिया और कमांड को फिर से लिखना ठीक काम किया।


0

जिस फ़ोल्डर को आप हटाना चाहते हैं, उसे अपने फ़ोल्डर के नाम से फ़ोल्डर नाम बदलकर निष्पादित करने से ठीक पहले फ़ोल्डर में जाएं: rm -rf फ़ोल्डर नाम

आर का अर्थ है पुनरावर्ती, और च का अर्थ है बल।


rm: cannot remove Wan Pisu - New World': Directory not empty
टेपेनो

क्या आपने उपयोग किया -rf?
रेमन सुआरेज़

-rfमुझे लगता है कि मैंने rm -r -f -vसर का इस्तेमाल किया ।
टिफेनो

मैंने बस एक ही डायरेक्टरी नाम के साथ एक परीक्षण किया और इसने मेरे लिए काम किया, साथ ही साथ rf v को अलग करने के अपने तरीके का उपयोग कर रहे हैं। क्या आप सुनिश्चित हैं कि आप उपयोग कर रहे हैं rmऔर नहीं rmdir? क्या क्रिया (-v) ने आपको कोई सुराग दिया? इसके अलावा, क्या आपकी निर्देशिका में कोई 0 बाइट फाइलें हैं? "rm -r -f -v Wan \ Pisu \ - \ New \ World / निकाली गई 'Wan Pisu - नई दुनिया / test.test' हटा दी गई निर्देशिका: 'Wan Pisu - नई दुनिया'"
Ramon Suarez

नहीं, वे केवल फ़ोल्डर हैं। जब मैं इसे विंडोज पर डिलीट कर रहा हूं तो यह Error; 0x-----भी डिलीट नहीं हो सकता। -vयह बता रहा है कि मुझे क्या पता चल रहा हैrm --help
tepheno


0

यदि आपके पास लिखने की अनुमति नहीं है, तो आप निर्देशिका को हटा नहीं सकते।

उदाहरण बलो में, भले ही मैं निर्देशिका का मालिक हूं, लेकिन मैं इसे हटा नहीं सकता। एक बार जब मैं लिखने की अनुमति जोड़ देता हूं chmod- सब कुछ सफल हो जाता है।

DIR:/xieerqi
skolodya@ubuntu:$ ls -dl TESTDIR/                                              
dr-xr-xr-x 2 xieerqi xieerqi 4096 Jan 24 16:06 TESTDIR//

DIR:/xieerqi
skolodya@ubuntu:$ rm -rf TESTDIR/                                              
rm: cannot remove ‘TESTDIR/one & two’: Permission denied
rm: cannot remove ‘TESTDIR/tom&jerry’: Permission denied
rm: cannot remove ‘TESTDIR/jekyl&hide’: Permission denied
rm: cannot remove ‘TESTDIR/pdfReader.sh’: Permission denied

DIR:/xieerqi
skolodya@ubuntu:$ chmod +w TESTDIR/                                            

DIR:/xieerqi
skolodya@ubuntu:$ rm -rf TESTDIR/                                              

DIR:/xieerqi
skolodya@ubuntu:$ echo $?
0

0

मेरे पास विंडोज़ में फ़ोल्डर्स हैं जो उबंटू वर्चुअलबॉक्स वर्चुअल मशीन (वीएम) पर लगे हैं। मैं उन्हें विंडोज़ फ़ाइल प्रबंधक से, या वीएम का उपयोग करके rmdirया अंदर से नहीं निकाल सकता था rm -Rf *

TLDR : मैं अंततः Git Bash (विंडोज में, निश्चित रूप से) का उपयोग करके उन्हें हटाने में सक्षम था rm -Rf *

जब मैंने विंडोज फाइल मैनेजर में डिलीट करने की कोशिश की, तो उसने कहा कि मुझे फ़ोल्डर्स को डिलीट करने के लिए एडमिनिस्ट्रेटर प्रिविलेज की जरूरत है। लेकिन, व्यवस्थापक के रूप में, यह अभी भी विफल रहा है।

उबंटू वीएम के भीतर से (जहां मुझे पहले साझा की गई फ़ाइलों को हटाने में कोई समस्या नहीं थी), मुझे त्रुटि मिली cannot remove protocol error, साथ ही कुछ अन्य।

अंत में, विंडोज में गिट बैश में, मैं फ़ोल्डर्स को हटाने में सक्षम था। मैं अनुमान लगा रहा हूं कि Git Bash में फ़ोल्डरों पर किसी प्रकार का लॉक था। Git Bash में, मेरी कार्यशील निर्देशिका उन लोगों में से एक थी जिन्हें मैं हटाने की कोशिश कर रहा था। मैंने इसका समर्थन किया और फिर rm -Rfबिना किसी त्रुटि के इसे हटा दिया ।

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