Si je voulais créer une chaîne qui est garantie de ne pas représenter un nom de fichier, je pourrais y mettre l'un des caractères suivants sous Windows:
\ / : * ? | < >
par exemple.
this-is-a-filename.png
?this-is-not.png
Existe-t-il un moyen d'identifier une chaîne comme "probablement pas un fichier" sous Linux?
Il n'y a presque aucune restriction - à part '/'
et '\0'
, vous pouvez utiliser n'importe quoi. Cependant, certaines personnes pense que ce n'est pas une bonne idée de laisser autant de flexibilité.
Une chaîne vide est le seul nom de chemin vraiment invalide sous Linux, qui peut fonctionner pour vous si vous n'avez besoin que d'un seul nom invalide. Vous pouvez également utiliser une chaîne comme "///foo
", qui ne serait pas un nom de chemin canonique, bien qu'il puisse faire référence à un fichier (" /foo
"). Une autre possibilité serait quelque chose comme" /dev/null/foo
", puisque /dev/null
a une signification non-répertoire définie par POSIX. Si vous n'avez besoin que de chaînes qui ne peuvent pas faire référence à un fichier normal, vous pouvez utiliser "/
" ou ".
", car ce sont toujours des répertoires.