GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Traversal failed:u:Ungültige Meldung beim Löschen eines extrem großen Verzeichnisses unter Linux

Okay, ich habe die Probleme endlich gelöst. Es lag an den Dateisystemfehlern, die ls verursachen falsch angezeigt werden und andere Dienstprogramme nicht richtig funktionieren.
Es tut mir leid, dass der Titel der Frage irreführend ist (obwohl es tatsächlich viele Dateien in u/ gibt , ist das Verzeichnis nicht extrem groß ).

Ich habe das Problem gelöst, indem ich einen Live-USB verwendet habe, da das beschädigte Dateisystem / ist . Die Lösung bestand einfach darin, sudo fsck -cfk /dev/sda2 anzuwenden wobei dev/sda2 ist die beschädigte Festplatte.


Sie können mit rm keine großen Mengen an Dateien entfernen . Sie können beides tun

find u/ -type f -print0 | xargs -r -0 rm -f

dadurch werden nur Dateien gelöscht; Um alles zu löschen, verwenden Sie

find u/ -print0 | xargs -r -0 rm -rf

Sie können wahrscheinlich den --delete verwenden Option von find , wenn Ihr System es hat:

find u/ -type f --delete

oder die funky Methode mit rsync :

mkdir emptyfolder
rsync -r --delete emptyfolder/ u/

rsync ist viel schneller als rm beim Löschen von Dingen, da dadurch einige Prüfungen umgangen werden.


Sie können find /u -type f | while read f; do rm -f $f; done versuchen Das dauert eine Weile, könnte aber funktionieren. Aus irgendeinem Grund funktionieren Schleifen in Bash gut, wenn andere Ansätze versagen.


Linux
  1. Erstellen, Löschen und Verwalten von Verzeichnissen unter Linux

  2. Linux – Große Verzeichnisse mit Tausenden von Dateien effizient löschen?

  3. Linux – Wie überprüft man die Verzeichnisstrukturinformationen einer Unix/Linux-Datei?

  4. SOAP-Fehlermeldung beim Erstellen der Domäne

  5. So überprüfen Sie fehlgeschlagene oder fehlerhafte Anmeldeversuche unter Linux

Cd-Befehl in Linux (Verzeichnis wechseln)

Du-Befehl unter Linux

Wall-Befehl unter Linux

mv-Befehl unter Linux

So kopieren Sie das Verzeichnis unter Linux

Linux:Fügen Sie PATH ein Verzeichnis hinzu