Saludos a los lectores asiduos de GUTL y a los que nos están conociendo. Desde mis inicios en el mundo de la informática el tema de las extensiones de archivos siempre fue motivo de debate, en épocas en que reinaba y campeaba en los ordenadores de nuestra isla el conocido MS-DOS. Luego, al conocer la evolución de Microsoft, nuestro archiconocido Windows, también era importante saber de extensiones. En ocasiones caía en mis manos un archivo con extensión rara y tenía que preguntar a decenas de personas a ver quien conocía con que bendito programa abría dicho archivo. Con el pasar del tiempo el tema de las extensiones se volvió un poco menos importante ya que generalmente el sistema operativo sabrá que programa (si está instalado) maneja ese archivo. En GNU/Linux (y en UNIX-Like en general) pudiera decirse que las extensiones se usan más por convención que por otra cosa ya que generalmente el sistema es capaz de reconocer el tipo de archivo por su contenido y no por su extensión.
Extensión de archivo
En informática, una extensión de archivo o extensión de fichero, es una cadena de caracteres anexada al nombre de un archivo, usualmente precedida por un punto. Su función principal es diferenciar el contenido del archivo de modo que el sistema operativo disponga el procedimiento necesario para ejecutarlo o interpretarlo, sin embargo, la extensión es solamente parte del nombre del archivo y no representa ningún tipo de obligación respecto a su contenido.
Una diferencia en el empleo de las extensiones en Windows y GNU/Linux la encontramos en que por lo general (y recalco, por lo general) en Windows las extensiones tienen tres caracteres mientras que en GNU/Linux es habitual encontrarnos de tres como de uno, dos o incluso cuatro o más caracteres. Sólo hace falta investigar un poco por las carpetas del sistema para ver las numerosas y variadas extensiones que existen.
En los sistemas GNU/Linux (es más, en cualquier Unix) los nombres de los archivos pueden contener cualquier carácter excepto el separador de directorios (“/”) y por lo general no tienen límite en su tamaño o es un límite aceptable. La extensión no es un elemento diferenciado sino una convención dada a los nombres de archivo para reconocer su contenido.
En DOS los nombres de los archivos tenían un máximo de 8 caracteres, un punto y una extensión de como máximo tres letras, en total un máximo de 12 caracteres del Código ASCII que permitían distinguir unos archivos de otros dentro de un mismo directorio. No todos los caracteres del código ASCII estaban permitidos para nombrar un archivo, pues algunos (ejemplo: /*?+\ y otros) estaban reservados para otras funciones. En Windows 95 desaparecieron los límites impuestos por DOS en el número de caracteres del nombre de archivo y de la extensión.
Extensiones en tu sistema GNU/Linux
Evidentemente, hoy por hoy a mi me tiene bastante sin cuidado que extensiones de archivo están presentes en Microsoft Windows. Con bastante trabajo y sin nostalgia alguna recuerdo los .dll, .exe y .etc… pero ahora que soy Linuxero me pregunto cuantos tipos de extensiones puedo encontrar en mi sistema. Daré un paseito raíz adentro a ver que encuentro por allá… ¿Me acompañas?
Ejecutables:
elf: Formato binario estandar en GNU/Linux
jar: Aplicaciones escritas en lenguaje Java
pl: Script en lenguaje Perl
py: Script en lenguaje Python
sh: Script de Shell, utilizado para crear pequeños programas
Codigos fuentes y librerías:
a: Librerías estáticas
c: Código del lenguaje C
cpp: Código del lenguaje C++
diff: Conjunto de instrucciones que defines los cambios al aplicarse un parche
h: Cabecera de archivos programados en C
lo: Archivo temporal creado en la compilación de una librería
o: Archivo temporal creado al compilar un programa
so:Librerías compartidas, equivalentes a DLL en Windows
Comprimidos y empaquetados:
arj: Formato de compresión muy habitual hace unos años
bz2: Archivo comprimido con la herramienta BZIP2
gz: Fichero generado mediante la herramienta GZIP, sustituta de la ya anticuada “compress”
rar: Sustituto natural de ARJ
tar: Archivo empaquetado sin comprimir, habitualmente comprimido con GZIP o BZIP2, formando extensiones dobles. (ej. tar.gz)
tbz2: Archivo resultante de comprimir en BZIP2 un archivo TAR
tgz:Resultado de comprimir en GZIP un archivo TAR
z: Fichero comprimido con la herramienta compress
zip: Es el formato de compresión más utilizado en internet, aunque en GNU/Linux no es muy común usarlo debido al uso extendido y casi exclusivo de gzip y bzip2
Archivos del Sistema:
conf: Archivo de configuración de un programa. Almacenados en su mayoría en el directorio /etc/
ko: Módulos del núcleo
lock: Indica el bloqueo de un servicio, proceso o programa. Se suelen guardar en /tmp borrándose con cada inicio
log: Archivo de información, generados por el propio núcleo y los programas y servicios instalados
pid: Ficheros identificadores de procesos, necesarios para el correcto funcionamiento de los servicios en ejecución
socket: Medio de comunicación entre dos programas situados habitualmente en equipos distintos
tmp: Archivos temporales creado por un programa para almacenar información
Distribuciones de paquetes binarios:
deb: Usado por Debian y distros derivadas, entre las que destaca Ubuntu o Linux Mint como más conocidas
dsc: Archivo de información del código fuente de un paquete en Debian
ebuild: Script utilizado por Gentoo para compilar e instalar paquetes a partir de su código fuente
rpm: Usado por Red Hat, Fedora, CentOS, SUSE, Mandriva y derivados
slp: Distribución Stampede
tgz: Archivos TAR.GZ ya compilados para Slackware
Estoy convencido que no he listado todas las extensiones presentes en nuestros sistemas GNU/Linux, pero tal vez en tus comentarios me ayudas a conocer otras que en esta visita relámpago al interior de mi Linux no pude encontrar.
Fuente:
Bueno, me gustaría agregar como un dato interesante que las extensiones de archivo en Windows son relevantes únicamente para el Explorador de Windows, no para el sistema ni para el resto de las aplicaciones en general. Programáticamente hablando, las extensiones no cumplen ningún papel importante ni existe ninguna dependencia a ellas cuando se manipula (o ejecuta) un archivo. Solo existen como forma de asociar un tipo de archivo con un programa cuando éste debe ser ejecutado por el Explorador; para el resto del mundo son solo una convención.
Valida la aclaración, gracias por el dato
En el FLISOL de mi ciudad, me encontré con un programador de LibreOffice que creaba extensiones para el mismo.
Pero se quejaba de que por defecto Libreoffice lleva comas en vez de puntuaciones, también de que la gente estuviera tan familiarizada, mecanizada y acostumbrada con Microsoft Office y yo le propuse esta solución que aprendí de elMor3no: http://gutl.jovenclub.cu/optimiza-libreoffice-para-que-tenga-mejor-compatibilidad-con-microsoft-office
llamaret +99, solo creo q t faltaron las de slackware
Muchas gracias por la información. La verdad es que soy nuevo en esto del GNU/Linux y me has dado un poco más de luz a todo esto.