Guía de los directorios de Linux: qué contiene cada uno y para qué sirven

Guía de los directorios de Linux: qué contiene cada uno y para qué sirven

El sistema de archivos de Linux es el armazón sobre el que se sostiene todo: desde el kernel hasta las fotos personales del usuario. Al comprender dónde «viven» las configuraciones, los programas y los registros, es más fácil administrar servidores, buscar errores y ahorrar tiempo en tareas rutinarias. A continuación — una guía detallada de los directorios principales, su propósito y los escenarios típicos de uso.

Lógica general del FHS

La mayoría de las distribuciones se basan en el estándar Filesystem Hierarchy Standard (FHS). Divide los datos en cuatro categorías:

  • Estáticos — cambian raramente (archivos ejecutables, bibliotecas).
  • Dinámicos — escritos activamente por el sistema (registros, caché).
  • Del sistema — necesarios para todos los usuarios.
  • De usuario — archivos personales, configuraciones.

Entender este principio ayuda a responder rápidamente a la pregunta «¿dónde está el archivo?». Por ejemplo, las configuraciones del kernel están en /proc, y los archivos de configuración de Nginx en /etc/nginx.

La raíz /

El símbolo «slash» designa el punto de partida del árbol de directorios. Aquí se colocan sólo los elementos necesarios en las fases más tempranas del arranque: el kernel, el cargador de arranque y un conjunto mínimo de utilidades. Todo lo demás está en subdirectorios.

/bin y /sbin — utilidades básicas

/bin almacena binarios disponibles para cualquier usuario: ls, cp, grep. /sbin contiene utilidades de administrador: iptables, reboot, mkfs. La diferencia principal está en los permisos requeridos.

  • El comando se puede localizar rápidamente con which ls — indicará /bin/ls.
  • En un arranque mínimo de emergencia, estos directorios son los primeros que se montan para «levantar» el sistema.

/etc — el corazón de la configuración

En el directorio /etc se encuentran las configuraciones de servicios, demonios y del propio shell. Desde aquí arranca el «alma» de Linux: los servicios systemd, las reglas del cortafuegos y los parámetros de red.

  • /etc/ssh/sshd_config — la política de conexión por SSH.
  • /etc/fstab — la tabla de montajes automáticos de sistemas de archivos.
  • /etc/cron.* — el calendario de tareas periódicas.

Consejo: antes de cambiar, haga una copia de seguridad del archivo: cp sshd_config sshd_config.bak.

/usr — universo de programas de usuario

Históricamente /usr significaba "user system resources". Hoy es el almacén de casi todas las aplicaciones y bibliotecas que no se necesitan en la etapa inicial de arranque.

  • /usr/bin — la mayor parte de los binarios de las aplicaciones instaladas vía el gestor de paquetes.
  • /usr/lib — bibliotecas dinámicas (.so), sin las cuales muchos programas no se ejecutarán.
  • /usr/share — datos independientes de la arquitectura: iconos, localizaciones, páginas de ayuda.
  • /usr/local — lo mismo, pero para software compilado manualmente: nada se sobrescribe al actualizar el sistema.

Para ver qué paquete «trajo» un binario, utilice dpkg -S /usr/bin/htop o rpm -qf.

/var — mundo de datos variables

/var se interpreta como «variable». Aquí se escriben registros, correo, bases de datos y cachés de los gestores de paquetes.

  • /var/log — registros del sistema y de las aplicaciones. journalctl da acceso a los registros de systemd.
  • /var/spool — la «bandeja» para tareas de cron, correos del MTA y colas de impresión.
  • /var/lib — datos internos de servicios: por ejemplo, la réplica de PostgreSQL o las imágenes de contenedores Docker.

La limpieza regular de /var/cache evitará que el servidor se quede sin espacio en disco.

/home — territorio de los usuarios

Cada usuario tiene un directorio personal /home/nombre. Aquí se almacenan documentos y configuraciones de aplicaciones que comienzan con un punto en el nombre (.bashrc, .config). Al hacer copias de seguridad, esta es normalmente la carpeta que se necesita.

/tmp y /run — archivos temporales

/tmp es adecuado para archivos que se pueden eliminar sin problemas después de reiniciar. /run (antes — /var/run) contiene sockets y archivos PID de procesos en ejecución. Ambos directorios pueden montarse en memoria (tmpfs) para acelerar el funcionamiento.

/opt — aplicaciones adicionales

Aplicaciones comerciales o portátiles suelen instalarse en /opt. Ejemplo: /opt/google/chrome. La ventaja es el control total sobre la carpeta sin interferir con /usr del sistema.

/srv — datos del servicio

Según FHS, en /srv se guardan los datos que el servicio «sirve» directamente: un sitio web de Nginx (/srv/www), repositorios Git (/srv/git). Ese esquema facilita la migración: basta trasladar el directorio.

/dev, /proc y /sys — sistemas de archivos «virtuales»

Estos directorios no ocupan espacio en disco, pero reflejan el estado del hardware y del kernel.

  • /dev — dispositivos: /dev/sda, /dev/null. Compruebe sus permisos con ls -l /dev.
  • /proc — parámetros del kernel y de los procesos. Para conocer la configuración de la CPU: cat /proc/cpuinfo.
  • /sys — un panel aún más detallado para gestionar controladores.

Cambiar algo aquí solo debe hacerse conociendo las consecuencias.

/boot — plataforma de arranque

Todos los archivos para el cargador de arranque GRUB y las imágenes del kernel están en /boot. Si la partición está separada, no olvide aumentar su tamaño al pasar a kernels nuevos.

/media y /mnt — puntos de montaje

/media está destinado al montaje automático de medios extraíbles (pendrives, DVD). /mnt son puntos temporales para montajes manuales, por ejemplo, al hacer copias de seguridad en un almacenamiento en red.

Escenarios prácticos

Búsqueda del archivo «perdido»

  1. Recuerde el tipo de contenido: ¿configuración? mire en /etc. ¿Biblioteca? busque en /usr/lib.
  2. Use locate: sudo updatedb && locate nginx.conf.

Liberar espacio sin riesgo

  • apt clean eliminará paquetes en /var/cache/apt.
  • La carpeta /tmp se puede limpiar automáticamente con systemd-tmpfiles.

Auditoría rápida de seguridad

  1. Compruebe los permisos de /etc/shadow. Deben ser 640 o más restrictivos.
  2. Asegúrese de que /tmp esté montado con la opción nosuid,nodev.

Conclusión

Una estructura clara de directorios es una de las razones por las que el sistema de archivos de Linux sigue siendo cómodo y escalable. Conocer el propósito de los directorios acelera la configuración, facilita las copias de seguridad y mejora la seguridad. Practique: intente buscar archivos, experimente en una máquina virtual de prueba y consulte la documentación — por ejemplo, la sección FHS en Debian Wiki.

Material adicional del blog

  • Instalación de Linux desde cero: guía detallada paso a paso
  • Qué Linux elegir para un principiante: reseña de distribuciones populares
  • Qué es Linux: historia, distribuciones y diferencia con Windows
Alt text