Il n'y a pas de réponse à 100% en noir ou blanc ici.
Habituellement, Linux ne s'appuie pas sur les noms de fichiers (ni sur les extensions de fichier, c’est-à-dire la partie du nom de fichier après la dernière période), mais détermine le type de fichier en examinant les premiers octets de son contenu et en les comparant à une liste de nombres magiques connus . .
Par exemple, tous les fichiers image Bitmap (généralement avec l'extension de nom .bmp
) doivent commencer par les lettres BM
de leurs deux premiers octets. Les scripts dans la plupart des langages de script tels que Bash, Python, Perl, AWK, etc. (essentiellement tout ce qui traite les lignes commençant par un #
commentaire) peuvent contenir un shebang comme #!/bin/bash
la première ligne. Ce commentaire spécial indique au système avec quelle application ouvrir le fichier.
Donc, normalement, le système d’exploitation s’appuie sur le contenu du fichier et non sur son nom pour déterminer le type de fichier, mais le fait de déclarer que les extensions de fichier ne sont jamais nécessaires sous Linux n’est que la moitié de la vérité.
Les applications peuvent bien sûr implémenter leurs contrôles de fichiers comme bon leur semble, ce qui inclut la vérification du nom du fichier et de son extension. Un exemple est Eye of Gnome ( eog
, visualiseur d'images standard), qui détermine le format de l'image à l'aide de l'extension de fichier et génère une erreur s'il ne correspond pas au contenu. Que ce soit un bug ou une fonctionnalité peut être discuté ...
Cependant, même certaines parties du système d'exploitation dépendent des extensions de nom de fichier, par exemple, lors de l'analyse syntaxique des fichiers sources du logiciel /etc/apt/sources.list.d/
: seuls les fichiers dont l' *.list
extension est analysée sont ignorés. Ce n'est peut-être pas principalement utilisé pour déterminer le type de fichier ici, mais plutôt pour activer / désactiver l'analyse de certains fichiers, mais c'est toujours une extension de fichier qui affecte la façon dont le système traite un fichier.
Et bien sûr , les bénéfices des utilisateurs humains les plus de extensions de fichier comme qui fait le type d'un fichier évident et permet également plusieurs fichiers avec le même nom de base et extensions différentes comme site.html
, site.php
, site.js
, site.css
etc. L'inconvénient est bien sûr que l' extension du fichier et le réel type de fichier / contenu ne doivent pas nécessairement correspondre.
De plus, il est nécessaire pour l’interopérabilité multi-plateformes, comme par exemple Windows ne saura pas quoi faire avec un readme
fichier, mais seulement un fichier readme.txt
.