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?

  • Imansible scrivere ad altri utenti "è distriggersta la licenza di scrittura"
  • Assicurarsi che l'esecutivo sia sempre in esecuzione?
  • Analizzare i rigetti in arrivo di pacchetti TCP su GNU / Linux
  • file permessi sicurezza apache
  • Sintonizzazione del comportmento del caching del disco Linux per il massimo throughput
  • Snapshot di esportzione da VMWare Workstation 8
  • leggere intervalli di righe specificate da un file
  • Come rinominare più file sostituendo la parola nel nome del file?
  • directory rsync in modo che tutte le modifiche appaiano atomicamente
  • copiare un file 2 connessioni lontano?
  • Come posso manipolare il command find per "trovare" le directory nel file "trovato"?
  • Più veloce, sicuro, protocollo / codice necessario per il trasferimento a lunga distanza
  • 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.