Ich möchte eine Datei mit einem seltsamen Namen in einen vernünftigen Namen umbenennen, kann jedoch nicht: /
$ mv *_000c.jpg 000c.jpg
mv: cannot move '?j?Z?R?C1_000c.jpg' to '000c.jpg': No such file or directory
Ich habe versucht, die Inode-Nummer zu verwenden, wie es an einigen Stellen im Internet empfohlen wurde:
$ ls -il *000c.jpg
ls: '?j?Z?R?C1_000c.jpg': No such file or directory
213915 -rw-r--r-- 1 wolf wolf 794655 Jul 21 2012 '?j?Z?R?C1_000c.jpg'
$ find . -inum 213915 -print0 | xargs -0 -I '{}' mv '{}' 000c.jpg
mv: cannot move './?j?Z?R?C1_000c.jpg' to '000c.jpg': No such file or directory
Was soll ich machen?
fsck
. Ich kann beschädigt sein. Wie hat die Datei diesen Namen erhalten?
ls
)
?
für Buchstaben angezeigt, die nicht angezeigt werden können. Versuchen Sie, zu einer vollständigen Unicode-Schriftart zu wechseln.
*_000c.jpg
aber das mv
kann die Datei nicht verarbeiten. Dies ist meiner Meinung nach ein Hinweis auf ein beschädigtes Dateisystem. ... oder möglicherweise eines Dateisystems, das auf einer Netzwerkfreigabe bereitgestellt ist, die nicht mehr vorhanden ist (wobei die Verzeichniseinträge noch zwischengespeichert sind), oder so.
ls
in diesem Verzeichnis? Wird die Datei als reguläre Datei angezeigt? Ich möchte sicherstellen, dassNo such file or directory
es sich um einen Globbing-Fehler handelt, der nicht auf ein beschädigtes Dateisystem hinweist.