Análisis completo de la estructura de directorios en Linux

Visión general del sistema de archivos

En Linux, todos los archivos y directorios están organizados bajo un único directorio raíz denotado por /, formando una estructura jerárquica en forma de árbol. Este diseño difiere significativamente de sistemas operativos que utilizan múltiples letras de unidad como punto de partida.

/ 
├── bin/               # Binarios esenciales para el usuario
├── boot/              # Archivos de arranque del sistema
├── dev/               # Archivos de dispositivo
├── etc/               # Configuración del sistema
├── home/              # Directorios personales de usuarios
├── lib/ -> usr/lib/   # Bibliotecas compartidas esenciales
├── lib64/ -> usr/lib64/
├── media/             # Puntos de montaje para medios removibles
├── mnt/               # Directorio para montajes temporales
├── opt/               # Paquetes de software adicionales
├── proc/              # Sistema de archivos virtual del kernel
├── root/              # Directorio personal del superusuario
├── run/               # Datos transitorios de la sesión
├── sbin/ -> usr/sbin/ # Binarios esenciales de administración
├── srv/               # Datos para servicios ofrecidos por el sistema
├── sys/               # Interfaz con el kernel para dispositivos
├── tmp/               # Archivos temporales
├── usr/               # Jerarquía secundaria para datos de usuario
└── var/               // Datos variables como registros y caché

Exploración de directorios clave

/ - El directorio raíz

Es el punto de origen absoluto del sistema de archivos. Cualquier dispositivo de almacenamiento, partición o recurso de red debe ser montado como un subdirectorio dentro de este árbol para que sea accesible.

/bin y /sbin

Tradicionalmente, /bin contenía binarios necesarios para la operación básica del sistema, disponibles para todos los usuarios, incluso en modo monousuario. Por ejempllo, comandos como ls o cat. /sbin alojaba binarios de administración del sistema, como init o reboot, pensados principalmente para el root. En las distribuciones modernas, estos directorios suelen ser enlaces simbólicos que apuntan a sus contrapartes bajo /usr.

ls -la /bin
# Muestra el contenido del directorio /bin, que probablemente sea un enlace.
# En lugar de listar comandos individuales, es común verificar la ruta:
type ls
# ls es /usr/bin/ls

/etc - Central de configuración

Aquí se encuentran los archivos de configuración globales del sistema. Incluye parámetros de red, información de usuarios, configuración de servicios y arranque del sistema. Ejemplos comunes son /etc/fstab (tabla de sistemas de archivos) y /etc/apt/sources.list (en distribuciones basadas en Debian).

/home y /root

Cada usuario tiene un directorio personnel dentro de /home (ej: /home/maria) donde almacena sus archivos y configuraciones. El directorio personal del superusuario root está separado en /root por razones de seguridad, manteniéndose accesible incluso cuando /home no está montado.

/var - Datos variables

Almacena datos que crecen o cambian durante la operación del sistema. Los archivos de registro (/var/log), colas de correo (/var/spool/mail) y datos de aplicaciones (/var/lib) residen aquí. La partición que aloja /var suele ser una de las que más crece.

sudo journalctl --since "1 hour ago" --priority=err
# Consulta los errores recientes del sistema usando journald,
# una alternativa moderna a los archivos de registro en /var/log.

/proc y /sys - Sistemas de archivos virtuales

No son directorios físicos en el disco. /proc proporciona una enterfaz a estructuras de datos del kernel, exponiendo información sobre procesos y configuración del sistema en tiempo real. /sys expone una vista de los dispositivos y controladores del kernel.

cat /proc/loadavg
# Muestra la carga promedio del sistema (1, 5 y 15 minutos).
# /sys/class/thermal/thermal_zone0/temp podría mostrar la temperatura de la CPU.

Evolución: La unificación de /usr

Distribuciones modernas como Ubuntu, Fedora y Debian han adoptado el esquema usr merge. En este modelo, los directorios /bin, /sbin y /lib en la raíz son enlaces simbólicos que apuntan a /usr/bin, /usr/sbin y /usr/lib respectivamente. Esto simplifica la jerarquía del sistema, unifica la gestión de paquetes y facilita la administración de snapshots y contenedores.

Etiquetas: linux sistema de archivos estructura de directorios FHS virtual filesystems

Publicado el 6-1 16:31