Existe-t-il des caractères non valides pour un nom de fichier ext3?

9

Quels caractères ne sont pas valides pour un nom de fichier ext3? J'imagine qu'au moins /est un caractère invalide et probablement \0. Y a-t-il une liste officielle quelque part?

Je ne sais pas exactement où chercher ces informations, alors dites-moi où vous les avez trouvées.

Utilisateur1
la source
Une lecture intéressante, quoique longue ,: Correction des noms de fichiers Unix / Linux / POSIX .
pause jusqu'à nouvel ordre.

Réponses:

9

Juste ces deux-là.

De la page wikipedia sur ext3 :

Caractères autorisés dans les noms de fichiers - Tous les octets sauf NULL et '/'

marque
la source
Ah, je n'ai pas vu les statistiques sur le côté de la page wikipedia. Merci!
User1
3

/ semble être autorisé, au moins sur ext3 (soi-disant en tout, ext, ext2 & ext3 au moins, probablement aussi ext4) - essayez ceci:

f = 'test / fichier'; echo "Test: '$ {f}'"
pour c in touch ll rm; do
eval "$ {c} '$ {f}'"
terminé

Cela va créer "test / fichier", m'a aussi surpris ... Il va le créer, l'afficher avec la commande ls et enfin le supprimer avec rm

Vous pouvez le taper sur une ligne en bash:

$ f = 'test / file'; for c in touch ll rm; do eval "$ {c} '$ {f}'"; done

Donc / semble être (bizarrement) autorisé dans les noms de fichiers - probablement que de nombreux outils peuvent être confondus avec de tels ...

robsku
la source
Astuce sympa
Euh… avez-vous un répertoire appelé 'test'? Cela fera une différence:touch: cannot touch 'test/file': No such file or directory
MikeyB
Bien qu'utile comme plaisanterie pour tirer sur ses assistants.
Magellan
Non, juste réussi à créer un fichier nommé "test / fichier" - il serait intéressant de l'essayer avec le répertoire existant nommé test ... Cela pourrait même ne pas poser de problème, après tout, le / à la fin du nom du répertoire n'est pas vraiment une partie de son nom ... Je pourrais donc imaginer qu'ils travaillent réellement ensemble ... Cela semblera déroutant cependant ... Ou vouliez-vous dire que vous l'avez réellement essayé? :)
robsku