Da es sich bei den Zeichen wahrscheinlich um internationale Zeichen handelt, werden sie wahrscheinlich als Steuercodes in Ihrem en_US-Zeichensatz angezeigt, weshalb ls sie als Fragezeichen anzeigt.
Dies kann daran liegen, dass Ihre Distribution standardmäßig Aliasing-Ls im globalen Profil auswählt. Zum Beispiel:
alias ls='ls -q'
Sie können feststellen, ob Ihre Distribution dies getan hat, indem Sie in Ihre Shell eingeben:
alias ls
Welches wird so etwas wie das folgende ausdrucken:
$ alias ls
alias ls='ls --color=auto'
Die unten verlinkte Seite schlägt vor, dass bei "ls -b" die oktalen Steuercodes angezeigt werden, damit Sie zumindest wissen, welche Zeichen verwendet werden.
http://www.arsc.edu/arsc/support/howtos/nonprintingchars/
Vorausgesetzt, das funktioniert nicht, haben Sie eine andere Option, die dort weiter unten erwähnt wird:
Ein mir bisher unbekanntes Tool namens OctalDump (auf Debian - / usr / bin / od)
$ ls | od -b
Zeigt Ihnen die oktale Form der Steuercodes.
$ ls | od -c
Zeigt Ihnen die Zeichen einschließlich aller versteckten zusätzlichen Leerzeichen am Ende (beachten Sie die zusätzlichen Leerzeichen am Ende in ihrem Beispiel).
Sobald Sie wissen, welche Steuerzeichen im Spiel sind und ob zusätzliche versteckte Leerzeichen vorhanden sind, können Sie möglicherweise einen Weg finden, um in das Verzeichnis zu gelangen, indem Sie die Steuerzeichen maskieren. Andernfalls haben Sie mehrere Möglichkeiten, das Verzeichnis umzubenennen.
Die obige Seite enthält auch eine schnelle und schmutzige Methode zum Entfernen der Steuerzeichen über den Befehl mv, die meiner Meinung nach funktionieren wird, solange Sie das Leerzeichen verlassen, aber NICHT den Fragezeichen entkommen (wodurch sie zu einem einzelnen Zeichen werden) Platzhalter), und solange nichts anderes in dem Verzeichnis vorhanden ist, in dem sich dieses Schurkenverzeichnis befindet. Der Grund für diese expliziten Anforderungen liegt darin, dass Sie nur Platzhalterzeichen und das einzelne Leerzeichen verwenden und daher nicht möchten, dass der Platzhalter versehentlich mit einer anderen Datei oder einem anderen Verzeichnis übereinstimmt.
Wenn die oben beschriebene Methode nicht funktioniert, können Sie die in anderen Antworten erwähnte Suchmethode fast sicher auf andere Weise verwenden. Anstatt zu versuchen, mit der Inode-Nummer, die Sie versucht haben, in das Verzeichnis zu wechseln, können Sie es mit der Inode-Nummer umbenennen. Stellen Sie einfach sicher, dass Sie den gesamten Satz von 3 Zeilen für diesen einen Befehl von der obigen Seite kopieren (ersetzen Sie den Teil "gewünschter Name" durch den tatsächlichen Namen, in den Sie ihn jedoch umbenennen möchten).
Sobald das Verzeichnis umbenannt wurde, sollten Sie darauf zugreifen können. Ich kann nur hoffen, dass es nicht auch Dateien mit Steuercodes in den Namen enthält, oder Sie müssen für jede Datei (und / oder jedes Unterverzeichnis) in dem gerade umbenannten Verzeichnis spülen und wiederholen, an welchem Punkt eine for-Schleife wäre wahrscheinlich ist es ratsam, einfach jede Datei als Nummer zu benennen, indem Sie von 1 inkrementieren :-)
cd */
könnte es funktionieren.*
sollte eine Shell verständliche Beschreibung des Verzeichnisses erweitern undcd
zusätzliche Argumente ignorieren. Eine andere Möglichkeit könnte darin bestehen, einen grafischen Dateimanager (einschließlich des terminalbasierten MC) oder die in Vim integrierten Dateibaumnavigatoren zu verwenden. Sie können auch direkt mit dem-exec
Wechsel zufind, not with
cd` experimentieren (was eine integrierte Shell ist), aber mit zBls
und anderen Tools.