No hay una respuesta 100% en blanco o negro aquí.
Por lo general, Linux no se basa en nombres de archivo (y extensiones de archivo, es decir, la parte del nombre del archivo después del último período normalmente) y en su lugar determina el tipo de archivo examinando los primeros bytes de su contenido y comparándolo con una lista de números mágicos conocidos .
Por ejemplo, todos los archivos de imagen de mapa de bits (generalmente con extensión de nombre .bmp
) deben comenzar con las letras BM
en sus dos primeros bytes. Las secuencias de comandos en la mayoría de los lenguajes de secuencias de comandos como Bash, Python, Perl, AWK, etc. (básicamente todo lo que trata las líneas que comienzan con un #
comentario) pueden contener un shebang #!/bin/bash
como primera línea. Este comentario especial le dice al sistema con qué aplicación abrir el archivo.
Entonces, normalmente el sistema operativo se basa en el contenido del archivo y no en su nombre para determinar el tipo de archivo, pero declarar que las extensiones de archivo nunca son necesarias en Linux es solo la mitad de la verdad.
Por supuesto, las aplicaciones pueden implementar sus comprobaciones de archivos como quieran, lo que incluye verificar el nombre y la extensión del archivo. Un ejemplo es el Eye of Gnome ( eog
visor de imágenes estándar) que determina el formato de imagen por la extensión del archivo y genera un error si no coincide con el contenido. Se puede discutir si esto es un error o una característica ...
Sin embargo, incluso algunas partes del sistema operativo dependen de las extensiones de nombre de archivo, por ejemplo, al analizar los archivos de origen de su software /etc/apt/sources.list.d/
, solo los archivos con la *.list
extensión se analizan; todos los demás se ignoran. Quizás no se usa principalmente para determinar el tipo de archivo aquí, sino para habilitar / deshabilitar el análisis de algunos archivos, pero sigue siendo una extensión de archivo que afecta la forma en que el sistema trata un archivo.
Y, por supuesto, los beneficios de los usuarios humanos más de extensiones de archivo que eso hace que el tipo de un archivo obvio y también permite que varios archivos con el mismo nombre base y diferentes extensiones como site.html
, site.php
, site.js
, site.css
extensión, etc. La desventaja es, por supuesto, ese archivo y lo actual el tipo / contenido de archivo no necesariamente tiene que coincidir.
Además, es necesario para la interoperabilidad entre plataformas, ya que, por ejemplo, Windows no sabrá qué hacer con un readme
archivo, sino solo a readme.txt
.