Nomi di file Linux / Windows / Unix / …: quali caratteri sono consentiti? Che sono sconfitti?

Quali caratteri sono consentiti e quali di essi devono essere eliminati nella row di command in diversi sisthemes operativi?

  • Come posso installare e utilizzare gli strumenti cli53 su Windows?
  • Apache smette di rispondere alle richieste http - https continua a funzionare
  • Posso utilizzare i criteri di gruppo per impostare le autorizzazioni sulle chiavi del Registro di sistema?
  • Come faccio a rilevare i dispositivi mobili in IIS in modo da poterli redirect in un sito specifico per i cellulari?
  • Come trovare i file concon usati da apache
  • SQL Server 2008 Express - soluzione di backup "migliore"?
  • Quali sono gli inconvenienti per utilizzare mod_log_rotate e rotatelogs.exe insieme?
  • Eseguire IIS e Apache nello stesso Windows Server
  • 4 Solutions collect form web for “Nomi di file Linux / Windows / Unix / …: quali caratteri sono consentiti? Che sono sconfitti?”

    C'è una discussione sui caratteri di file nell'articolo di Wikipedia sui nomi di file .

    Potete trovare questo saggio informativo: Fixing Unix / Linux / POSIX Filenames .

    Questo articolo confronta OS X e Windows XP: X vs XP: Caratteri proibiti nei nomi di file (PDF, vedere pp ca 64-66).

    Cose che non dovrebbero essere nei nomi di file per $ 1.000 Alex

    Non so quali personaggi debbono essere eliminati, ma in Linux, probabilmente non è una buona idea sfuggire ai personaggi che possono avere un significato speciale come "n" (newline), "t" (tab) e altri, ma in genere non è un problema nelle operazioni di file. Forse intendi "sfuggire" piuttosto che "non". I più comuni sono quelli che la shell interpnetworkingrà come spazio, ">", "<", ecc. Vedere alcuni degli articoli che ho collegato per una discussione di questi.

    Gli unici caratteri non consentiti in un nome di file in * nix sono NUL e / . In Windows, solo NUL e \ sono veramente non consentiti, ma molte applicazioni limitano ulteriormente, anche impedendo ? , * , + e % .

    In nessun punto è necessario eliminare qualsiasi carattere in un nome di file se non necessario per non essere interpretato dalla shell.

    Se si crea un file in Windows con Explorer utilizzando uno dei seguenti caratteri, si lamenta che i caratteri non sono consentiti:

     \ / : * ? " < > | 

    Un buon riferimento è qui:

    Denominare file, routes e spazi dei nomi
    http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx

    Microsoft afferma inoltre:

    "… su piattaforms desktop basate su Windows, i caratteri di path non validi potrebbero includere i caratteri ASCII / Unicode da 1 a 31, oltre a quote ("), less di (<), maggiori di (>), pipe (|), backspace (\ b), null (\ 0) e tab (\ t). "

    http://msdn.microsoft.com/en-us/library/system.io.path.getinvalidpathchars.aspx

    Su Linux e altri sisthemes compatibili POSIX, "/" è riservato perché è il separatore di directory e "\ 0" (il carattere NULL) indica la fine della string. Tutto il resto è consentito.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.