ls zeigt die Datei, aber beim Versuch zu lesen heißt es, dass sie nicht existiert

908
Bart Friederichs

Ich habe einen CIFS-Mount auf meinem PC und der lsBefehl zeigt mir an, dass eine bestimmte Datei vorhanden ist:

[bf@localhost dirX]$ ls -la total 4096 drwxr-xr-x. 2 bf bf 0 20 okt 09:12 . drwxr-xr-x. 2 bf bf 0 5 sep 11:05 .. -rwxr-xr-x. 1 bf bf 880 19 okt 17:44 WeirdFile -rwxr-xr-x. 1 bf bf 880 19 okt 17:44 GoodFile 

Wenn Sie jedoch versuchen, daraus zu lesen (oder darin zu speichern), heißt es, dass die Datei nicht vorhanden ist:

[bf@localhost dirX]$ cat WeirdFile cat: WeirdFile: No such file or directory 

Der Versuch cat GoodFilefunktioniert.

Ich habe ohnehin Probleme mit CIFS, seit ich auf Fedora 26 umgestiegen bin und die Version 2.1 in fstab erzwingen muss. Hauptproblem ist schlechte Leistung (langsam!), Aber das ist einfach komisch.

Aktualisieren Sie beim erneuten Bereitstellen der Freigabe die Datei.

3
Haben Sie versucht: `more * WeirdFile *`? chingNotCHing vor 6 Jahren 0

1 Antwort auf die Frage

2
xenoid

Ein möglicher Grund dafür, dass das Weirdfile nicht wirklich ASCII-Zeichen im Namen verwendet. Wenn dies der Fall ist, funktioniert die Eingabe des Dateinamens nicht. Wenn Sie jedoch Kopieren / Einfügen verwenden, ist dies der Fall (es kann auch mit der Befehlsvollendung gearbeitet werden, abhängig davon, wo sich das Nicht-ASCII-Zeichen befindet).

Es gibt zwei Möglichkeiten für Nicht-ASCII-Zeichen: * Das Nicht-ASCII-Zeichen hat eine Glyphe, die mit der im lateinischen Alphabet übereinstimmt (kyrillisch 'a', 'o', 'e' sind typisch) * * das Nicht-ASCII-Zeichen ist nicht sichtbar (+ U200B, z. B. kein Nullraum ohne Unterbrechung).

Neben dem Unterschied beim Kopieren / Einfügen vs.

  • In diesem Fall ist ls suspisciousfile | wc -cdie wcAusgabe bei all-ASCII nur ein Byte mehr als Sie Zeichen im Dateinamen zählen können (aufgrund des abschließenden Zeilenvorschubs), wenn es sich um Nicht-ASCII-Zeichen handelt, wird es länger sein.
  • with hexdump: ls suspisciousfile | hexdump -Cmacht alle Nicht-ASCII-Zeichen sehr offensichtlich.

Beispiel mit einem speziell gefertigten filе(wobei das Finale еtatsächlich ein kyrillischer Charakter ist:

enter image description here

Ich habe den Dateinamen mit Tab Completion eingegeben. Und versuchte "Hexdump", nichts seltsames dort. Bart Friederichs vor 6 Jahren 0