Quali caratteri sono ammessi e quali di essi devono essere salvati dalla riga di comando in diversi sistemi operativi?
Quali caratteri sono ammessi e quali di essi devono essere salvati dalla riga di comando in diversi sistemi operativi?
Risposte:
C'è una discussione sui caratteri del nome file nell'articolo Wikipedia sui nomi dei file .
È possibile trovare questo saggio informativo: Correzione dei nomi dei file Unix / Linux / POSIX .
Questo articolo confronta OS X e Windows XP: X vs XP: caratteri proibiti nei nomi dei file (PDF, vedi pp circa 64-66).
Cose che non dovrebbero essere nei nomi dei file per $ 1,000 Alex
Non so quali personaggi debbano essere non salvati, 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 questo non è generalmente un problema nelle operazioni sui file. Forse intendi "fuggito" anziché "non fuggito". I più comuni sono quelli che la shell interpreterà come spazio, ">", "<", ecc. Vedi alcuni degli articoli che ho collegato per una discussione di questi.
Gli unici caratteri non consentiti in un nome file in * nix sono NUL
e /
. In Windows, solo NUL
, :
e \
sono veramente non ammessi, ma molte applicazioni limitano che ulteriori, anche impedendo ?
, *
, +
, e %
.
In nessun caso i caratteri di un nome file devono essere sottoposti a escape, ad eccezione di quanto richiesto per non essere interpretati dalla shell.
Se si crea un file su Windows con Explorer utilizzando uno dei seguenti caratteri, si lamenterà che i caratteri non sono consentiti:
\ / : * ? " < > |
Un buon riferimento è qui:
Denominazione di file, percorsi e spazi dei nomi
http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx
Microsoft afferma inoltre:
"... su piattaforme desktop basate su Windows, i caratteri di percorso non validi potrebbero includere caratteri ASCII / Unicode da 1 a 31, nonché virgolette ("), minore di (<), maggiore di (>), pipe (|), backspace (\ b), null (\ 0) e tab (\ t). "
http://msdn.microsoft.com/en-us/library/system.io.path.getinvalidpathchars.aspx
\ / : * ? " < > |
tutti e crearli con mkdir sul mio sistema GNU / Linux. Puoi usare anche mkdir '?'
per creare la ?
directory. Ho usato il file system ramdisk e XFS per testarlo.
Su Linux e altri sistemi compatibili con POSIX, "/" è riservato in quanto è il separatore di directory e "\ 0" (il carattere NULL) indica la fine della stringa. Tutto il resto è permesso.