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

Linux – Beschädigte Verzeichnisse, Problem beim Löschen?

Es gibt ein Verzeichnis in meinem Linux-System, da aufgrund einer Softwarefehlfunktion einige Verzeichnisse mit Junk-Namen erstellt wurden, wie Sie unten sehen können. Ich habe Probleme, sie zu löschen,

$ ll
total 1532
drwxr-xr-x   2 sensage sensage   4096 Apr 19 16:56 -?$??
drwxrwxr-x 248 sensage sensage   4096 Apr 23 11:37 .
drwxrwxr-x  99 sensage sensage   4096 Apr 16 14:23 ..
drwxr-xr-x   2 sensage sensage   4096 Apr  6 14:54 }???;?
drwxr-xr-x   2 sensage sensage   4096 Apr 19 03:01 }??=?|
-rw-r--r--   1 sensage sensage     88 Apr 22 13:37 $
drwxr-xr-x   2 sensage sensage   4096 Apr  2 12:43 ?
drwxr-xr-x   2 sensage sensage   4096 Mar 20 02:51 ?=??&?
drwxr-xr-x   2 sensage sensage   4096 Apr 11 08:40 ?;%??;
drwxr-xr-x   2 sensage sensage   4096 Apr 14 09:38 ?:????
drwxr-xr-x   2 sensage sensage   4096 Mar 22 17:21 ?(?>~?
drwxr-xr-x   2 sensage sensage   4096 Apr  1 13:45 ?[???%
drwxr-xr-x   2 sensage sensage   4096 Apr  3 14:03 [email protected]????
drwxr-xr-x   2 sensage sensage   4096 Apr 12 16:18 ??
drwxr-xr-x   2 sensage sensage   4096 Apr 17 16:38 ??&???
drwxr-xr-x   2 sensage sensage   4096 Mar 25 02:43 ??+???
drwxr-xr-x   2 sensage sensage   4096 Apr 19 00:46 Ü¡?,??
drwxr-xr-x   2 sensage sensage   4096 Mar 28 18:54 ÚŸ??"?
drwxr-xr-x   2 sensage sensage   4096 Mar 27 01:04 ???(?
drwxr-xr-x   2 sensage sensage   4096 Apr 19 22:41 ??ͨ?`
drwxr-xr-x   2 sensage sensage   4096 Apr 15 11:44 ?????-

wie Sie Verzeichnisnamen in Blau sehen können. Wenn ich sie löschen möchte, erhalte ich die folgende Fehlermeldung:

$ ls -1  | grep -v 20 | xargs rm -rf 
xargs: unmatched double quote; by default quotes are special to xargs unless you use the -0 option
rm: invalid option -- ¼
Try `rm ./'-¼$Þ¸Í'' to remove the file `-274$336270315'.
Try `rm --help' for more information.

was soll ich damit machen?

Akzeptierte Antwort:

ls druckt Nicht-ASCII-Zeichen (oder vielmehr Zeichen, die in der aktuellen Ländereinstellung nicht unterstützt werden) als ? . Dies ist einer der Gründe, warum die Ausgabe von ls geparst wird ist eine schlechte Sache zu tun. Die Ausgabe von ls soll angeschaut werden . In manchen Fällen, wie diesem, sind das nicht die tatsächlichen Namen, die im Dateisystem existieren.

Versuchen Sie stattdessen so etwas wie (dies löscht alle Dateien und Verzeichnisse, einschließlich /path/to/dir )

rm -rf /path/to/dir

oder

find /path/to/dir -delete

oder

find /path/to/dir -exec rm -rf {} +

oder

find /path/to/dir -print0 | xargs -0 rm -rf

An Ihre Bedürfnisse anpassen. Um nur Dateien zu löschen, fügen Sie -type f hinzu nach dem Pfad in find Beispiele, zum Beispiel.

Machen Sie einfach rm -rf * in diesem Verzeichnis (das ist wichtig , das aktuelle Arbeitsverzeichnis muss das Verzeichnis sein, dessen Dateien und Verzeichnisse Sie löschen möchten) kann auch ausreichen.

Verwandte:Wie löschen Sie in Microsoft Access alle Werte in einer einzelnen Spalte, ohne das gesamte Feld zu löschen?
Linux
  1. 8 Tipps, die Nicht-Technikern helfen, auf Linux umzusteigen

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

  3. Kopieren Sie Dateien und Verzeichnisse unter Linux

  4. So benennen Sie ein Verzeichnis unter Linux um

  5. Löschen von .rbenv aus Linux

So benennen Sie Verzeichnisse in Linux um

So vergleichen Sie Verzeichnisse mit Meld unter Linux

So navigieren Sie unter Linux schneller durch Verzeichnisse

Finden Sie Dateien und Verzeichnisse unter Linux ganz einfach

mkdir-Befehl:Erstellen Sie neue Verzeichnisse in Linux

So listen Sie nur Verzeichnisse in Linux auf