• [^] # Re: Type mime : comment fait linux ?

    Posté par . En réponse au message Type mime : comment fait linux ?. Évalué à 4.

    Ben déjà

    1) " #! " au début d'un fichier est pour autant que je sache un magic number reconnu par le système qui lui permettra de choisir l'interpréteur qu'il faut lancer. Donc tu peux mettre absolument n'importe quel nom de programme en lieu et place de /bin/bash !

    2) Il y a belle lurette que Windows fonctionne déjà de la même façon. Ce fût d'ailleurs un problème car des petits malins s'amusaient à renommer des *.exe en *.gif, etc. Si bien que là où l'utilisateur avait l'impression de visualiser une image, et où les filtres de première ligne n'avaient aucun effet, celui-ci lançait un exécutable, en général malicieux.

    3) Il est quand même heureux que le système soit capable de reconnaître lui-même le genre de fichier et n'ait pas à se fier à un code en trois lettres, d'abord pour éviter ce qui vient d'être dit en 2), et ensuite parce que les combinaisons d'un code à trois lettres sont limitées.

    4) Si deux fichiers sont strictement identiques, c'est par définition parce qu'ils ont le même contenu ! Donc il n'y a à priori aucune raison valable de leur donner deux extensions différentes. Maintenant si tu estimes que des fichiers de conf (ou des saloperies style *.inf à la windows) ont besoin de cela pour être activés/désactivés, ou pour les distinguer d'un simple fichier texte que l'on ouvrirait avec un bloc-notes, et bien rien ne t'empêche de mettre quand même des extensions. Mieux, tu peux mettre autant de points que tu le souhaites (le point est considéré comme un caractère normal par le système de fichier), et file est suffisament fûté pour savoir les gérer aussi.

    Réjouis-toi : Tu peux ajouter tes propres magic numbers :

    man file
    man 5 magic