Warum kann Linux einen Dateinamen mit dem Zeichen '/' anzeigen?


32

Das folgende Bild ist in einer realen Linux-Umgebung aufgenommen.

Die Ausgabe zeigt Zeichen, die einem Schrägstrich (/) in einem Dateinamen ähneln

Warum kann Linux einen Dateinamen mit dem Zeichen '/' anzeigen?


7
Also, welcher Charakter ist es? Bitte aktualisieren Sie Ihre Frage mit der hexdumpAusgabe.
cjm

1
Selbst wenn in allen APIs Einschränkungen beim Schreiben von Dateinamenzeichen gelten, kann der Dateiname möglicherweise direkt im Datenträgerabbild bearbeitet werden (dies ist jedoch unhandlich). (Ich weiß nicht, ob heutzutage übliche Dateisysteme Dateinamen beim Lesen überprüfen.)
Ulrich Schwarz

@ cjm , Ich habe den Snapshot von VMware zurückgesetzt.
xmllmx

5
@xmllmx: Das ist einer der Gründe, warum es am besten ist, die Ausgabe als Text zu kopieren und einzufügen, anstatt (oder zusätzlich zu) einem Bild.
TJ Crowder

2
Ext * verbietet nur zwei Zeichen aus Dateinamen: \0und /. Dies ist eine Einschränkung auf Kernel- und FS-Ebene. Selbst wenn Sie es geschafft hätten, indem Sie selbst mit den Verzeichniseinträgen rumgespielt hätten, wären 82% sicher, dass Linux nicht in der Lage wäre, zu der Datei zu navigieren, um sie zu öffnen.
CHAO

Antworten:


53

Es ist kein /Zeichen ( U + 002F ); Es ist ein Unicode-Zeichen, das nur ähnlich aussieht.

Versuchen

ls | hexdump -C

um zu sehen, was es ist.

Einige Möglichkeiten sind FRACTION SLASH (U + 2044) , DIVISION SLASH (U + 2215) , MATHEMATICAL RISING DIAGONALE (U + 27CB) , und die Kombination von Solidus Zeichen U + 0337 und U + 0338 , aber es gibt keine Möglichkeit zu sagen , was man aus Dein Screenshot.


2
cool ... danke, das ls | hexdump -Cscheint in einigen fällen nützlich zu sein.
Anfänger
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.