Mam w sobie katalog. Jak mogę to usunąć?
~/.local/share/Trash/files$ ls devices/
reg-dummy
~/.local/share/Trash/files$ ls devices/reg-dummy/
subsystem
~/.local/share/Trash/files$ ls devices/reg-dummy/subsystem/
devices
Również
~/.local/share/Trash/files$ find devices/ | head -n 20
devices/
devices/reg-dummy
devices/reg-dummy/subsystem
devices/reg-dummy/subsystem/devices
devices/reg-dummy/subsystem/devices/reg-dummy
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices
devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy/subsystem/devices/reg-dummy
Ponadto, chociaż mój mózg nie jest w stanie rozwiązać problemu zatrzymania, wydaje się, że sudo rm -rf devices
trwa on wiecznie, bez wytwarzania wyników.
~/.local/share/Trash/files$ sudo rm -rf devices
^C~/.local/share/Trash/files$
To samo dotyczy perl -e 'use File::Path qw(remove_tree); remove_tree("$ENV{HOME}/.local/share/Trash/files/devices")'
. To samo dotyczy du -s devices/
. To samo dotyczy du -sch ~/.local/share/Trash/
innych poleceń
$ cd ~/.local/share/Trash/files/devices/reg-dummy/subsystem/devices/
$ ls -ldi
8131921 drwxr-xr-x 3 theking theking 4096 Mar 17 19:43 .
$ cd reg-dummy/subsystem/devices/
$ ls -dli
8131926 drwxr-xr-x 3 theking theking 4096 Mar 17 19:43 .
$ find .local/share/Trash/files/ -maxdepth 1 -delete
find: cannot delete `.local/share/Trash/files/devices': Directory not empty
find: cannot delete `.local/share/Trash/files/': Directory not empty
Nie chcę, żeby utknęła na zawsze w moim koszu!
Uwaga: po prostu użyłem prymitywnej kopii zapasowej komputera scp
, ale zabrakło mi miejsca, a potem tak się stało.
filesystem
PyRulez
źródło
źródło
rm -rf devices
zrobić?ls -dli devices
andls -dli devices/reg-dummy/subsystem/devices/
ls -ldi devices
, niedevice
. Próbuję sprawdzić, czy są to faktycznie twarde łącza (ten sam i-węzeł). Pamiętaj jednak, że jeśli jest to duży katalog,rm -rf
zajmie to dużo czasu, ale w końcu zadziała. Jeśli problemem są okrągłe linki, pojawi się komunikat o błędzie dotyczący nieskończonej rekurencji. Jeśli nie ma komunikatu o błędzie, po prostu pozwól murm -rf
działać.Odpowiedzi:
Dane wyjściowe
ls -ldi
pokażą numer i-węzła katalogu. Jeśli katalog w katalogu rzeczywiście ma ten sam numer i-węzła co jego przodek, a nie tylko tę samą nazwę, oznacza to, że twój system plików jest uszkodzony i będziesz musiał uruchomić system w trybie ratunkowym i fsck go.źródło
Nadal uważam, że
rm -rf
to zadziała, jeśli dasz mu wystarczająco dużo czasu, ale jeśli nie, jedno lub oba z nich powinny:Możesz upewnić się, że coś się dzieje, jeśli użyjesz
rm -rfv ~/.local/share/Trash/files/devices
co najmniej tego, że będziesz wiedział, że pliki są usuwane.W każdym razie nie może to stanowić problemu z linkami twardymi (pomimo mojego bardzo złego komentarza), ponieważ katalogów nie można połączyć z linkiem pod Linuxem. Ogólnie rzecz biorąc, gdy masz nieskończoną rekurencję, jak to może się zdarzyć z softlinkami, otrzymasz komunikat o tym, że tak się nie dzieje.
Inną możliwością, o której mogę myśleć, jest to, że folder Kosz jest jakimś dziwnym własnym systemem. Naprawdę nie wiem, jak to działa, nigdy go nie używam. Jednak lepiej mieć szczęście, usuwając pliki najwyższego poziomu bezpośrednio, zamiast celować w problematyczny katalog:
Powinieneś także spróbować opróżnić folder Kosz z GUI, po prostu wybierz Kosz i kliknij „Opróżnij Kosz”, aby sprawdzić, czy to zadziała.
źródło
rm
nie wygeneruje żadnych wyników. Jak długo biegali? Zaktualizowałem równieżfind
polecenie, poprzednie było złe, przepraszam. Spójrz na zaktualizowaną odpowiedź. Wreszcie pracujemy tutaj w ciemno. Zaktualizuj swoje pytanie o dane wyjściowe,ls -l
gdzie użyłeśls
, a także pokaż wynikdu -sch ~/.local/share/Trash/
, abyśmy znali rozmiar.du -sch ~/.local/share/Trash/
, który da ci rozmiar. I dodaj wszystko, o co proszą różne komentarze, są potrzebne, abyśmy mogli zrozumieć, co się dzieje.(Jestem pewien, że to zadziała, a ponieważ zamierzam teraz podróżować, pozostawię to jako odpowiedź, którą mogę usunąć w przyszłości, jeśli to nie zadziała).
Po pierwsze, aby być bezpiecznym, biegnij
Po drugie, jeśli wynik „1” nie pokazał żadnego ważnego pliku, uruchom
Ostatnim krokiem byłoby
źródło