Contenido del curso

Introducción a los servidores

Tipos de archivos en Linux con ls

Resumen

En Linux todo es un archivo, y entender los tipos de archivos que existen en un sistema operativo Linux te da una ventaja enorme cuando administras servidores. Aquí descubrirás cuáles son, cómo identificarlos con ls y para qué sirve cada uno en tu día a día como sysadmin o desarrollador.

¿Qué son los archivos regulares y cómo identificarlos?

Los archivos regulares son la categoría más común y la que probablemente ya conoces sin saberlo.

Consisten en una serie de bytes que representan información. Pueden ser texto plano, ejecutables como una función de shell, imágenes o canciones MP3. Cuando ejecutas ls -l, los reconoces por el símbolo de guion (-) al inicio de la línea.

¿Cómo identifico un archivo regular en Linux? Ejecuta ls -l y busca el guion (-) al inicio. Ese símbolo confirma que es un archivo regular, sin importar si es texto, imagen o ejecutable.

¿Qué son los directorios y los enlaces en Linux?

Aquí viene una idea que cambia la forma en que ves tu sistema: las carpetas no son mágicas, también son archivos.

¿Por qué un directorio también es un archivo?

Un directorio contiene referencias a otros archivos y los agrupa. Si alguna vez trabajaste con punteros en C, piensa en un directorio como un diccionario que guarda referencias y las organiza. Para Linux, ese contenedor es un archivo más, no una entidad aparte.

¿Cuál es la diferencia entre hard link y link simbólico?

Existen dos tipos de enlaces en Linux y conviene no confundirlos.

  • Hard link: hace referencia directamente al archivo a nivel de memoria, como un puntero. Si tienes un archivo de música, puedes crear un hard link y leer su contenido porque apunta al mismo bloque de memoria. No funciona con directorios.
  • Link simbólico (también llamado soft link): apunta al archivo original por nombre, no por memoria. Sí permite enlazar directorios, y por eso es el más versátil.

En ls -l, los links simbólicos aparecen con el símbolo l, suelen mostrarse en otro color y con una flechita que indica a dónde apuntan.

¿Cuándo usar un link simbólico en lugar de un hard link? Úsalo siempre que necesites enlazar carpetas o cuando quieras una referencia por nombre fácil de mover o reemplazar. El hard link solo sirve para archivos.

¿Cómo funcionan los archivos de dispositivo, sockets y named pipes?

Estos tipos son menos comunes en el día a día, pero entenderlos te abre la puerta a tareas avanzadas en servidores.

¿Qué son los archivos de dispositivo de carácter o bloque?

Son archivos especiales que crea el propio sistema operativo para hacer referencia a periféricos o hardware. No los confundas con drivers: un driver es un programa que controla el hardware, mientras que un archivo de dispositivo solo contiene instrucciones para que el sistema interactúe con ese hardware.

Un ejemplo clásico es /dev/null. Si ejecutas ls -l /dev/null, verás una c al inicio. Funciona como un bote de basura para streams: todo lo que redirijas ahí, incluido el standard output, se descarta sin guardarse. Es perfecto cuando no quieres registrar logs de un proceso.

¿Qué hace un socket de dominio local?

Los sockets de dominio local aparecen con la letra s en ls -l. Son conexiones entre procesos que intermedian comunicación a nivel de red, pero solo accesibles en localhost. Sirven para exponer procesos, controlarlos o enviar señales entre ellos. Normalmente no los creas tú; los gestionan los servicios del sistema.

¿Para qué sirven los named pipes?

Los named pipes, también conocidos como archivos FIFO (First In, First Out), comunican dos procesos que corren al mismo tiempo. Si tomaste una clase de estructuras de datos, el concepto te será familiar.

Funcionan como una versión persistente del operador pipe (|): un proceso redirige su standard output hacia el archivo named pipe, y otro proceso lee ese contenido como standard input, incluso desde otro servidor.

Son especialmente útiles cuando quieres mover logs entre servidores sin montar infraestructura extra. Pocas personas los usan, pero bien aplicados son una herramienta poderosa.

Tabla rápida de símbolos en ls

Para que tengas el resumen visual a la mano cuando ejecutes ls -l:

  • - archivo regular.
  • d directorio.
  • l link simbólico.
  • c archivo de dispositivo de carácter (como /dev/null).
  • b archivo de dispositivo de bloque.
  • s socket de dominio local.
  • p named pipe (FIFO).

Dominar estos siete símbolos te permite leer cualquier salida de ls y entender de inmediato con qué tipo de archivo estás tratando, algo fundamental cuando administras servidores Linux en producción.

¿Cuál de estos tipos de archivo usas más en tu trabajo? Cuéntame en los comentarios si ya habías jugado con /dev/null o con named pipes para mover logs.