Welche Zeichen sind erlaubt und welche müssen in verschiedenen Betriebssystemen in der Kommandozeile maskiert werden?
Welche Zeichen sind erlaubt und welche müssen in verschiedenen Betriebssystemen in der Kommandozeile maskiert werden?
Antworten:
Im Wikipedia-Artikel über Dateinamen wird auf Dateinamen eingegangen .
Sie finden diesen Aufsatz möglicherweise informativ: Beheben von Unix- / Linux- / POSIX-Dateinamen .
Dieser Artikel vergleicht OS X und Windows XP: X vs. XP: Verbotene Zeichen in Dateinamen (PDF, siehe S. 64-66).
Dinge, die nicht in Dateinamen für 1.000 US-Dollar sein sollten Alex
Ich weiß nicht , welche Zeichen müssen un -escaped, aber in Linux, es ist wahrscheinlich keine gute Idee , um die Zeichen zu entkommen , die besondere Bedeutung wie „n“ (Newline), „t“ (tab) und andere haben kann, Aber das ist im Allgemeinen kein Problem bei Dateioperationen. Vielleicht meinen Sie "entkommen" und nicht "entkommen". Die gebräuchlichsten sind solche, die von der Shell interpretiert werden, z. B. Leerzeichen, ">", "<" usw. In einigen der von mir verlinkten Artikel werden diese erläutert.
Die einzigen Zeichen, die in einem Dateinamen in * nix nicht zulässig sind, sind NUL
und /
. In Windows, nur NUL
, :
und \
sind wirklich nicht erlaubt, aber viele Anwendungen beschränken , dass weitere, auch zu verhindern ?
, *
, +
, und %
.
Zu keinem Zeitpunkt tut in einem Dateinamen alle Zeichen müssen außer entgangen sein , wie erforderlich , um nicht von der Shell interpretiert werden.
Wenn Sie unter Windows mit Explorer eine Datei mit einem der folgenden Zeichen erstellen, wird beanstandet, dass die Zeichen nicht zulässig sind:
\ / : * ? " < > |
Eine gute Referenz ist hier:
Benennen von Dateien, Pfaden und Namespaces
http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx
Microsoft führt weiter aus:
msgstr "... auf Windows - basierten Desktop - Plattformen können ungültige Pfadzeichen ASCII / Unicode - Zeichen 1 bis 31 sowie Anführungszeichen ("), kleiner als (<), größer als (>), Pipe (|) und Rücktaste enthalten (\ b), null (\ 0) und tab (\ t). "
http://msdn.microsoft.com/en-us/library/system.io.path.getinvalidpathchars.aspx
\ / : * ? " < > |
allen entkommen und sie mit mkdir auf meinem GNU / Linux-System erstellen. Mit können Sie auch mkdir '?'
das ?
Verzeichnis erstellen . Ich habe das Ramdisk- und XFS-Dateisystem verwendet, um das zu testen.
Auf Linux- und anderen POSIX-kompatiblen Systemen ist "/" als Verzeichnistrennzeichen reserviert, und "\ 0" (das Nullzeichen) kennzeichnet das Ende der Zeichenfolge. Alles andere ist erlaubt.