Gibt es ungültige Zeichen für einen ext3-Dateinamen?


9

Welche Zeichen sind für einen ext3-Dateinamen ungültig? Ich stelle mir vor, dass zumindest /ein ungültiger Charakter ist und wahrscheinlich \0. Gibt es irgendwo eine offizielle Liste?

Ich bin mir nicht ganz sicher, wo ich nach diesen Informationen suchen soll. Bitte sagen Sie mir, wo Sie sie gefunden haben.


Eine interessante, wenn auch langwierige Lektüre: Fixieren von Unix / Linux / POSIX-Dateinamen .
Bis auf weiteres angehalten.

Antworten:



3

/ scheint erlaubt zu sein, zumindest auf ext3 (angeblich in allen, ext, ext2 & ext3 zumindest, wahrscheinlich auch ext4) - versuchen Sie einfach Folgendes:

f = 'Test / Datei'; echo "Test: '$ {f}'"
für c in touch ll rm; do
eval "$ {c} '$ {f}'"
getan

Das wird "test / file" erstellen, hat mich auch überrascht ... Es wird es erstellen, es mit dem Befehl ls zeigen und es schließlich mit rm entfernen

Sie können es in einer Zeile in bash eingeben:

$ f = 'test / file'; für c in touch ll rm; eval "$ {c} '$ {f}'"; done

Also / scheint in Dateinamen (bizarr) erlaubt zu sein - wahrscheinlich können viele Tools mit solchen verwechselt werden, obwohl ...


Cooler Trick, obwohl auf Produktionssystemen wahrscheinlich schlecht beraten :-)
voretaq7

Ähm ... hast du ein Verzeichnis namens 'test'? Das wird einen Unterschied machen:touch: cannot touch 'test/file': No such file or directory
MikeyB

Obwohl nützlich als Witz, um seine Assistenten anzuziehen.
Magellan

Nein, es ist gerade gelungen, eine Datei mit dem Namen "test / file" zu erstellen - es wäre interessant, sie mit dem vorhandenen Verzeichnis test zu testen ... Es könnte nicht einmal Probleme bereiten, schließlich ist das / am Ende des Verzeichnisnamens nicht wirklich Ein Teil des Namens ... Also könnte ich mir vorstellen, dass sie tatsächlich zusammenarbeiten ... Es wird allerdings verwirrend aussehen ... Oder meinten Sie, Sie haben es tatsächlich versucht? :)
Robsku
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.