Ich habe ein Verzeichnis in sich. Wie lösche ich es?
~/.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
Ebenfalls
~/.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
Auch wenn mein Gehirn das Problem des Anhaltens nicht lösen kann, scheint es, dass es sudo rm -rf devices
für immer weitergeht, ohne Ausgabe zu produzieren.
~/.local/share/Trash/files$ sudo rm -rf devices
^C~/.local/share/Trash/files$
Gleiches für perl -e 'use File::Path qw(remove_tree); remove_tree("$ENV{HOME}/.local/share/Trash/files/devices")'
. Gleiches für du -s devices/
. Gleiches gilt für du -sch ~/.local/share/Trash/
andere Befehle
$ 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
Ich möchte nicht, dass es für immer in meinem Müll steckt!
Hinweis: Ich habe ein einfaches Backup eines Computers erstellt, indem ich es einfach verwendet habe scp
, aber mir ist der Speicherplatz ausgegangen, und dann ist dies passiert.
filesystem
PyRulez
quelle
quelle
rm -rf devices
dasls -dli devices
andls -dli devices/reg-dummy/subsystem/devices/
ls -ldi devices
, nichtdevice
. Ich versuche zu sehen, ob es sich tatsächlich um Hardlinks handelt (der gleiche Inode). Beachten Sie jedoch, dass ein großes Verzeichnis zwarrm -rf
lange dauert, aber möglicherweise funktioniert. Wenn es sich hier um zirkuläre Links handelt, wird eine Fehlermeldung zur unendlichen Rekursion angezeigt. Wenn es keine Fehlermeldung gibt, lassen Sie es einfachrm -rf
laufen.Antworten:
Die Ausgabe von
ls -ldi
zeigt die Inode-Nummer des Verzeichnisses an. Wenn das Verzeichnis innerhalb des Verzeichnisses tatsächlich dieselbe Inode-Nummer wie sein Vorfahr hat und nicht nur denselben Namen, ist Ihr Dateisystem beschädigt und Sie müssen in den Rettungsmodus booten und es überprüfen.quelle
Ich denke immer noch, dass
rm -rf
das funktionieren wird, wenn Sie genug Zeit dafür geben, aber wenn nicht, sollten einer oder beide davon:Sie können sicherstellen, dass etwas passiert, wenn Sie
rm -rfv ~/.local/share/Trash/files/devices
mindestens das verwenden, um zu erfahren, dass Dateien gelöscht werden.Auf jeden Fall kann dies kein Hardlink-Problem sein (trotz meines sehr falschen Kommentars), da Verzeichnisse unter Linux nicht fest verlinkt werden können. Wenn Sie eine unendliche Rekursion haben, wie dies bei Softlinks der Fall sein kann, erhalten Sie im Allgemeinen eine entsprechende Meldung, die anscheinend nicht auftritt.
Die andere Möglichkeit, die ich mir vorstellen kann, ist, dass der Papierkorb ein seltsames System für sich ist. Ich weiß nicht wirklich, wie es funktioniert, ich benutze es nie. Möglicherweise haben Sie jedoch besseres Glück, wenn Sie die Dateien der obersten Ebene direkt löschen, anstatt auf das problematische Verzeichnis abzuzielen:
Sie sollten auch versuchen, den Papierkorbordner über die GUI zu leeren. Wählen Sie einfach Papierkorb aus und klicken Sie auf "Papierkorb leeren". Überprüfen Sie, ob dies funktioniert.
quelle
rm
werden eine Ausgabe erzeugen. Wie lange sind sie gelaufen? Ich habe auch denfind
Befehl aktualisiert , der vorherige war falsch, sorry. Schauen Sie sich die aktualisierte Antwort an. Schließlich arbeiten wir hier blind. Bitte aktualisieren Sie Ihre Frage mit der Ausgabe vonls -l
wo Sie verwendet habenls
, zeigen Sie auch das Ergebnis von,du -sch ~/.local/share/Trash/
damit wir die Größe kennen.du -sch ~/.local/share/Trash/
, das gibt Ihnen die Größe. Und bitte fügen Sie all die Dinge hinzu, nach denen die verschiedenen Kommentare gefragt haben. Sie werden benötigt, damit wir verstehen, was los ist.(Ich bin zuversichtlich, dass dies funktionieren wird, und da ich jetzt reisen werde, werde ich dies als Antwort belassen, die ich in Zukunft löschen kann, wenn es nicht funktioniert.)
Um sicher zu gehen, laufen Sie zuerst
Zweitens, wenn die Ausgabe von "1" keine wichtige Datei zeigte, dann ausführen
Der letzte Schritt wäre
quelle