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»
- Recuerde el tipo de contenido: ¿configuración? mire en
/etc. ¿Biblioteca? busque en/usr/lib. - Use locate:
sudo updatedb && locate nginx.conf.
Liberar espacio sin riesgo
- apt clean eliminará paquetes en
/var/cache/apt. - La carpeta
/tmpse puede limpiar automáticamente con systemd-tmpfiles.
Auditoría rápida de seguridad
- Compruebe los permisos de
/etc/shadow. Deben ser 640 o más restrictivos. - Asegúrese de que
/tmpesté montado con la opciónnosuid,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