Forum Linux.général caractères interdits linux, windows, mac

Posté par  .
Étiquettes : aucune
0
14
sept.
2004
Toujours pour mon article sur le rangement de photos numériques http://julien.noel.free.fr/photo_numerique/(...) (ben oui, je commence et j'aime bien finir proprement un truc ;-), je m'interrogeais sur les caractères interdits dans les noms de fichier. Sous Windows XP, facile, en tapant un : Windows crache tout de suite son venin en m'indiquant que je ne peux pas utiliser \ / : * ? " < > |
Je demande à un ami ce qu'il en est de MacOS et de m'indiquer (c'est du copier coller) :
"Le seul caractère vraiment interdit est le ":", qui était utilisé comme séparateur de noms de dossiers sous Mac OS (l'équivalent du "/" sous Unix ou du "\" sous DOS). Sous MacOSX, l'OS sous-jacent étant BSD (donc système de nommage de fichiers Unix), le "/" est interdit pour les mêmes raisons (comme sous Linux et autres Unix).
(Notes: Les versions de MacOS jusqu'à MacOS 9 permettaient d'utiliser un "/" dans un nom de fichier, ce qui évidemment pose problème lors d'une conversion vers MacOSX. Inversement, je peux créer sous MacOSX un fichier qui contient un ":" dans son nom si j'utilise le prompt, mais pas si j'utilise le Finder.)
Donc: ne pas utiliser ":" ni "/" dans un nom de fichier sur un Mac.

En ce qui concerne les caractères accentués, MacOSX utilise Unicode, et plus précisément UTF-8, pour le stockage des noms de fichiers. Donc les accents (ou même les idéogrammes chinois) sont possibles. Malheureusement toutes les applications disponibles ne gèrent pas nécessairement très bien ça (à ce qu'il paraît; je n'ai pas encore eu ce genre de problèmes). Bien entendu tout devient encore plus compliqué si on utilise X11 sous MacOSX, et que l'on a des applications (y compris sous Gnome ou KDE) qui ignorent tout des noms de fichiers en UTF-8.

Pour simplifier les choses (et les échanges avec les propriétaires de PC sous DOS), il est aussi recommandé de ne pas utiliser non plus les caractères "interdits" de DOS. (Cela simplifie les choses lorsqu'on utilise une clef "flash" USB ou un disque portable formaté FAT qui devra être utilisé sur un Mac et sur un PC. Même remarque pour quand il faut faire un CD, aussi, puisque ISOfs a ses propres limitations (du point de vue des caractères utilisables, et du point de vue des caractères accentués.)
Refs:
http://www.westwind.com/reference/OS-X/paths.html(...)
http://www.hmug.org/Tips/DarkSide.html(...)"

Bon ok, mais maintenant, qu'en est il pour linux.
Que ce soit avec konqueror ou midnight commander, j'ai beau essayer tous les caractères$µ"'({(-è_ etc. dans un nom de fichier et aucun ne bronche en m'envoyant promener.
Ma question est donc : linux accepte-il donc TOUS les caractères ? (sachant évidemment qu'il vaut mieux éviter les spéciaux comme / par exemple).
merci pour vos réponses qui ne manqueront pas de m'enrichir.
  • # http://linuxfr.org/forums/

    Posté par  . Évalué à 1.

  • # Hormis Slash tout devrait passer

    Posté par  . Évalué à 3.

    Normalement, les Unix et Unix Like acceptent TOUS les caractères hormis '/' dans les nom de fichier. Le '\0' n'est pas vraiment conseillé non plus étant donné le langage C :p

    Tu peux meme mettre un '\n' (retour a la ligne) (à ne pas faire, ca rend fous quelques soft... (ainsi que l'utilisateur !))
    • [^] # Re: Hormis Slash tout devrait passer

      Posté par  . Évalué à 1.

      Normalement, les Unix et Unix Like acceptent TOUS les caractères hormis '/' dans les nom de fichier.
      Sous Linux le caractère '/' ne pose pas de problèmes. C'est pas hyper pratique mais il est autorisé.

      Tu peux meme mettre un '\n' (retour a la ligne) (à ne pas faire, ca rend fous quelques soft... (ainsi que l'utilisateur !))
      Je me suis déjà retrouvé, je ne sais pas comment, avec un fichier avec un '\r' dans le nom sur le FTP de free. J'ai eu du mal à l'effacer. ;-)
      En tout cas ça prouve que même les noms de fichiers avec des caractères dits non-imprimables sont utilisables sous GNU/Linux. Qu'en est-il de ms windows et macos? :)
    • [^] # Re: Hormis Slash tout devrait passer

      Posté par  (site web personnel) . Évalué à 2.

      Le '\0' n'est pas déconseillé mais interdit.

      Le '/' est interdit, mais certains logiciels comme konqueror acceptent le '/' en l'encodant en '%2f' sur le disque.

      Pour les autre caractères, ils sont tous autorisés. (Mais beaucoup sont déconseillés ...)
  • # try again, obiwan!

    Posté par  . Évalué à 4.

    Le coup classique pour apprendre aux nouveaux l'intérêt de certaines choses sous linux : le fichier qui s'appelle : * (à créer avec > touch "*").
    Sauras-tu effacer ce fichier, petit homme? (sans tout détruire sur ton passage bien sûr, et sans utiliser des programmes qui savent tout faire sans problème comme konqui)

    encore plus "hype": > touch '"*"'
    grand concours : trouvez les noms de fichiers les plus chiants à manipuler...

    PS.: C'est chiant ces articles qui se baladent dans le site comme ils veulent... on se croierait à la course au trésor.
    • [^] # Re: try again, obiwan!

      Posté par  . Évalué à 1.

      Au choix, avec bash pour touch "*":
      rm '*'
      rm \*
      rm "*"

      pour touch '"*"';
      rm \"\*\"
      • [^] # Re: try again, obiwan!

        Posté par  . Évalué à 2.

        très bien petit homme, essaies d'attraper les clefs (oui je sais c'est évident):
        > touch -- '-rf $HOME'
        • [^] # Re: try again, obiwan!

          Posté par  . Évalué à 1.

          Tu donnes la solution avec ton "--" (fin des options) dans:
          touch -- '-rf $HOME'

          rm -- -rf\ \$HOME
          rm -- '-rf $HOME'

          Same player, play again.
          • [^] # Re: try again, obiwan!

            Posté par  (site web personnel) . Évalué à 1.

            Crée le fichier vide `rm -rf ${HOME}`

            ;-)

            Sinon, j'en avais un rigolo tout à l'heure sur mon compte (je sais pas comment il est arrivé là !) : ^A^K, mais les vrais caractères de controle, pas les 4 caractères imprimables ...
            • [^] # Re: try again, obiwan!

              Posté par  . Évalué à 1.

              Pour les jeunz: ne pas faire l'exemple ci-dessus sous peine de destruction de son home sans même créer un fichier :-).
  • # ça dépend

    Posté par  . Évalué à 1.

    Chaque système de fichier aura sa liste de caractères, non ?
  • # Caractères autorisés

    Posté par  (site web personnel) . Évalué à 1.

    Bonjour,

    Je procederai plutôt de la manière inverse : tout caractère est interdit sauf les lettres de a à z (majuscules et minuscules), les chiffres (0-9), le tiret et le souligné.

    Avec ca il ne devrait pas y avoir de souci d'incompatibilité, tu évites les caractères bizarres sous des systèmes "exotiques" et cela me semble relativement pérenne.

    Et ca évite de retenir des choses alambiquées pour les utilisateurs lambdas.
    • [^] # Re: Caractères autorisés

      Posté par  (site web personnel) . Évalué à 2.

      et le 1er caractère est une lettre (majuscule ou minuscule)

      ne pas autoriser le . c'est bien pour :
      - éviter les fichiers cachés sous linux/unix (1er caractère)
      - empêcher windoze de transformer les extensions au download (par exemple, il a la fâcheuse tendance à transformer les .tar.bz2 en tar.tar)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.