Dlaczego nie mogę usunąć folderu?


14
Could not remove the folder [Folder name].

Show more details
 Error removing file: Directory not empty

Cancel-Skip All-Skip

Próbowałem usunąć te foldery z terminala za pomocą:

rm -r

2
Jeśli wyjście tego błędu pochodzi od nautilusa, możesz dodać zrzut ekranu do swojego pytania. Ponadto, jaka jest wydajność rm -rz terminala? Próbowałeś już z odpowiedziami tego postu ?
Lucio,

1
użyj rm -rfzamiast tego
nickanor

Byłem używany rm -Rfdo usuwania katalogów rekurencyjnych, może to być dla ciebie praca. Wielkie litery R oznaczają Rekurencyjne, patrz strony man rm
podręcznika

1
Czy masz uprawnienia do usunięcia tego katalogu? Wykonaj go ls -lai wklej tutaj, aby odrzucić tę opcję.
rewanż

Myślę, że folder został najpierw usunięty w systemie Windows, a następnie próbował usunąć w systemie Ubuntu. Następnie próbował usunąć w systemie Windows, ale powiedział błąd. Directory not empty ale to wszystko pusta obietnica. W Error x00000
systemie

Odpowiedzi:


10

Czy spróbować sudo rm -r. Jakie są pliki? Możesz również najpierw usunąć wszystkie pliki, a następnie usunąć folder. To dodatkowa praca, ale czasem warto ją wykonać.

sudo jest dla działań administratora.


Wiem, że sudo i folder nie zawiera plików, tylko podfolder. Folder wykonawców, a następnie folder albumów bez plików MP3. Po prostu folder.
tepheno

to działa koleś ...
Angelin Nadar

9

Miałem ten problem z folderem w systemie plików btrfs. Sprawdzanie punktów montowania i lsof to normalne rzeczy, których należy szukać. W moim przypadku było to uszkodzenie spowodowane starym błędem, ponieważ naprawiono:

Normalne rzeczy do sprawdzenia:

  • lsof + D <ścieżka> - to L i s t wszystkim o pióra f iles. Nie można usunąć folderu zawierającego otwarte pliki, ale zwykle powoduje to nieco inny błąd: „Urządzenie lub zasób zajęte”. Zauważ, że jeśli pominiesz „+ D <ścieżka>”, lsof wyświetli listę wszystkich folderów we wszystkich systemach plików - co zmarnuje czas. ;)
  • mount : pokaże aktualnie zamontowane systemy plików. Nie można usunąć aktywnie zamontowanego punktu montowania ani jego folderów nadrzędnych.
  • Lista podrzędna btrfs <ścieżka> : Podobnie jak punkt podłączenia, nie można usunąć podobjętości btrfs, chyba że używa się komendy specyficznej dla btrfs : podmenu usuwanie btrfs <ścieżka> .

Obejście problemu korupcji

W przypadku uszkodzenia, którego nie można łatwo naprawić, podstawowym obejściem jest wykonanie kopii zapasowej, sformatowanie systemu plików, a następnie przywrócenie (pomijając złe dane). W zależności od ilości danych w systemie plików może to być uciążliwe. : - /

W moim przypadku folder problemów znajdował się w podobjętości, więc mogłem zrobić powyższe, ale usuwając tylko podobjętość zamiast całego systemu plików. Utworzyłem kopię zapasową danych i usunąłem podwolumnę: btrfs sub del <ścieżka podrzędna> . Byłem wtedy w stanie przywrócić do nowej objętości cząstkowej, pomijając folder problemów.

Korupcja i_size

Przyczyną w moim przypadku było uszkodzenie i_size , gdzie było niezerowe. Btrfs używa i_size do określenia, czy folder jest pusty. Aby to sprawdzić, uruchom:

stat -c %s <foldername>

Rozmiar i_size pustego folderu w btrfs powinien wynosić zero. W ext jest zwykle 4k.

Powiązane linki:

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


6

Spróbuj cdwejść do katalogu, a następnie usuń wszystkie pliki za pomocą rm -rf *. Następnie spróbuj wyjść z katalogu i użyć go rmdirdo usunięcia katalogu.


To pięknie dla mnie działa +1 Dzięki, stary
AndrewL64,

Próbowałem tego i otrzymałem komunikat o błędzie: „Lista argumentów za długa”
Rafael_Espericueta

1

Próbować sudo rm -rf [Folder name]

Jeśli nadal wyświetla się katalog nie jest pusty, oznacza to, że katalog jest używany. spróbuj go zamknąć lub sprawdź, który program go używa, a następnie ponownie użyj polecenia.

Pracował dla mnie, gdy próbowałem usunąć projekt Unity i był on używany przez centrum Unity. po prostu zamknął hub jedności i przepisał polecenie, działało dobrze.


0

Przejdź do folderu tuż przed tym, który chcesz usunąć, i wykonaj to polecenie, zmieniając nazwę folderu na nazwę folderu: rm -rf nazwa folderu

R oznacza rekurencyjny, a f oznacza siłę.


rm: cannot remove Wan Pisu - New World': Directory not empty
tepheno

Czy używałeś -rf?
Ramon Suarez

-rfMyślę, że użyłem rm -r -f -vpana.
tepheno

Właśnie zrobiłem test z tą samą nazwą katalogu i to zadziałało dla mnie, również używając twojego sposobu oddzielenia rf v. Czy jesteś pewien, że używasz, rma nie rmdir? Czy pełne słowo (-v) dało ci jakieś wskazówki? Czy w twoim katalogu są jakieś pliki 0-bajtowe? „rm -r -f -v Wan \ Pisu \ - \ Nowy \ Świat / usunięto„ Wan Pisu - Nowy świat / test.test ”usunięto katalog:„ Wan Pisu - Nowy świat ””
Ramon Suarez

nie, to tylko foldery. Również gdy usuwam go w systemie Windows, nie Error; 0x-----można go również usunąć. -vwyjaśnia, co jest robione wiemrm --help
tepheno


0

Jeśli nie masz ustawionych uprawnień do zapisu, nie możesz usunąć katalogu.

Na przykład poniżej, mimo że jestem właścicielem katalogu, nie mogę go usunąć. Po dodaniu uprawnień do zapisu za pomocą chmod- wszystko się powiedzie.

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

Mam foldery w systemie Windows, które są zamontowane na maszynie wirtualnej Ubuntu VirtualBox (VM). Nie mogłem ich usunąć z menedżera plików systemu Windows lub z maszyny wirtualnej za pomocą rmdirlub rm -Rf *.

TLDR : W końcu mogłem je usunąć w Git Bash (oczywiście w Windows), używając rm -Rf *.

Kiedy próbowałem usunąć w menedżerze plików Windows, powiedziałem, że potrzebuję uprawnień administratora, aby usunąć foldery. Ale nawet jako administrator nadal nie udało się.

Z poziomu maszyny Wirtualnej Ubuntu (gdzie nigdy wcześniej nie miałem problemów z usuwaniem udostępnionych plików), dostałem błąd cannot remove protocol error, a także kilka innych.

Wreszcie w Git Bash w systemie Windows udało mi się usunąć foldery. Zgaduję, że Git Bash zablokował foldery. W Git Bash mój katalog roboczy był jednym z tych, które próbowałem usunąć. Wycofałem się z niego, a następnie usunąłem go rm -Rfbez żadnego błędu.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.