Eine Datei mit beschädigtem Namen entfernen

474
mob

So geschah dies:

$ ls ''$'\342\200''abc2.16.5' $ ls | od -c 0000000 342 200 a b c 2 . 1 6 . 5 \n $ ls -il 76236897 -rw-rw-r-- 1 mob users 0 Aug 16 17:52 ''$'\342\200''abc2.16.5' 

Wie lösche ich diese Datei? Hier einige Dinge, die nicht funktionierten:

$ rm -i -- * rm: remove regular file ''$'\342\200''abc2.16.5'? y rm: cannot remove ''$'\342\200''abc2.16.5': No such file or directory  $ rm ./* rm: cannot remove './'$'\342\200''abc2.16.5': No such file or directory  $ rm ./<TAB> # for file name completion rm: cannot remove './'$'\342\200''abc2.16.5': No such file or directory  $ find . -delete find: cannot delete './\342\200abc2.16.5': No such file or directory  $ perl -e 'unlink(glob("*")) or die $!' $ perl -e 'unlink(glob("*2.16.5")) or die $!' No such file or directory at -e line 1.  $ find . -inum 76236897 -delete find: cannot delete './\342\200abc2.16.5': No such file or directory  $ rename * xxx ; rm -v xxx rm: cannot remove 'xxx': No such file or directory 

Seltsamerweise truncate * --size 0arbeitet, cat *arbeitet, shred *arbeitet

Was soll ich als nächstes versuchen? Das System ist Red Hat Enterprise Linux Server Version 6.8

1
Ist das Löschen des Verzeichnisses mit der Datei eine Option? confetti vor 6 Jahren 0
Nicht, wenn jemand weiß, wie ein nicht leeres Verzeichnis gelöscht wird mob vor 6 Jahren 0
`rm -rf` sollte das für Sie tun. confetti vor 6 Jahren 0
`rm -rf` leert zuerst ein Verzeichnis und löscht es dann. Leider funktioniert auch nicht. mob vor 6 Jahren 0
Ich denke, Sie haben ein Dateisystem beschädigt. Können Sie im schreibgeschützten Modus booten und "fsck" auf der Partition mit der undeletable-Datei ausführen? Deltik vor 6 Jahren 2
Was für ein Dateisystem ist das? Ist es gesund Kamil Maciorowski vor 6 Jahren 0
Dies funktioniert möglicherweise nicht, da ich davon ausgehen würde, dass die Tab-Vervollständigung sich darum kümmert, aber haben Sie versucht, alle Sonderzeichen zu umgehen? `rm \ '\' \ $ \\ 342 \\ 200 \ '\' abc2.16.5 \ '` Omnipresence vor 6 Jahren 0

2 Antworten auf die Frage

1
confetti

Da Sie shredWerke sagen, möchte ich vorschlagen, das -uArgument zu shred hinzuzufügen .

Aus der Manpage ( man shred):

-u hebt die Datei auf und entfernt sie nach dem Überschreiben

Ich würde also shred -n 0 -u *in dem Verzeichnis versuchen, das die Datei enthält.

:-( `shred: '' $ '\ 342 \ 200''abc2.16.5': Fehler beim Entfernen: Keine solche Datei oder Verzeichnis '. Ich schätze jedoch den Aufwand. mob vor 6 Jahren 0
Können Sie die Ausgabe von 'ls -l' zum OP hinzufügen? Neugierig, wie die Berechtigungen der Datei aussehen. confetti vor 6 Jahren 0
0
JonathanDavidArndt

Das ist mir im Laufe der Jahre ziemlich oft passiert. Für mich ist es normalerweise auf einer Windows NTFS-Partition aufgetreten. Sie verwenden RHEL, aber vielleicht hilft Ihnen derselbe Prozess.

Ich war noch nie in der Lage, die beschädigte Datei oder das übergeordnete Verzeichnis erfolgreich zu löschen.

Ich musste immer:

  • Sichern Sie alle Dateien (abzüglich des Verzeichnisses mit der beschädigten Datei).
  • Formatieren Sie die Partition
  • Stellen Sie alle Dateien wieder her

Falls das Formatieren der Partition nicht möglich ist und die beschädigte Datei kein echtes Problem verursacht, können Sie auch Folgendes versuchen:

  • Legen Sie die beschädigte Datei in einem eigenen Verzeichnis ab
    • Kopieren Sie die beschädigte Datei in ein neues Verzeichnis
    • Kopieren Sie alle anderen guten Dateien in ein neues Verzeichnis
  • Verschieben Sie das Verzeichnis mit der beschädigten Datei an einen $TEMPOrt, an dem sie sicher ignoriert werden kann
  • Legen Sie alle anderen guten Dateien dort ab, wo sie waren