Sistema de archivos en Linux: estructura, jerarquía y funciones

Si venís de Windows, probablemente tengas la cabeza formateada en “C:\ y D:\”. En Linux la lógica es otra: todo cuelga de /, y esa decisión lo cambia todo. Acá te cuento por qué.

Es la forma en que Linux organiza y nombra todo lo que existe en tu equipo: archivos, directorios, dispositivos, sockets, procesos… Para el sistema, todo es un archivo. Eso incluye tu disco, tu placa de sonido o incluso la memoria del kernel. Gracias a esta idea, Linux puede tratar recursos muy distintos de una forma uniforme y poderosa.

Idea clave: no hay “letras de unidad”. En Linux tenés un único árbol que empieza en / (raíz). Luego se “montan” particiones, discos y recursos dentro de ese árbol.

La Filesystem Hierarchy Standard (FHS) define qué tipo de cosas deberían ir en cada directorio: binarios, librerías, configuración, datos variables, logs, etc. No es una ley sagrada, pero sirve de contrato para que usuarios, programas y distros hablen el mismo idioma.

La FHS facilita que cambies de distro sin desorientarte, que los paquetes sepan dónde instalarse y que los administradores encuentren lo que buscan sin perder tiempo.

RutaQué guardaNotas
/Raíz del sistema.Desde aquí se monta todo lo demás.
/bin y /usr/binComandos esenciales y de usuario.Ej.: ls, cp, grep.
/sbin y /usr/sbinHerramientas de administración.Ej.: mount, fsck, ip.
/etcConfiguración del sistema (texto).Ej.: /etc/hosts, /etc/fstab, /etc/passwd.
/homeCarpetas de usuarios.Tus documentos, descargas, configs personales (~/.config).
/rootHome del superusuario.No confundir con /.
/usrAplicaciones y datos “de solo lectura”./usr/bin, /usr/lib, /usr/share.
/varDatos variables.Logs en /var/log, colas, cachés, BD.
/tmpArchivos temporales.Puede limpiarse al reiniciar.
/optSoftware “opcional” de terceros.Algunas apps comerciales.
/srvDatos de servicios.Ej.: /srv/www para HTTP.
/mnt y /mediaPuntos de montaje.Manual (/mnt) y automontajes (/media).
/bootKernel e initramfs, gestor de arranque.Grub, kernels, etc.
/devDispositivos como archivos.Discos, puertos, etc.
/procInformación de procesos y kernel.Pseudo-FS: se genera en vivo.
/sysInterfaz con el kernel y drivers.También pseudo-FS.
/runEstado de ejecución (runtime).PID files, sockets temporales.
/lib y /usr/libLibrerías compartidas.Requeridas por binarios.

Tip: Si algo “desaparece” tras reiniciar y estaba en /run o /tmp, no es un bug: son áreas efímeras por diseño.

Un punto de montaje es un directorio donde “colgás” un sistema de archivos (una partición, un disco, un recurso de red). Cuando montás algo en /mnt/backup, el contenido aparece ahí, integrado al árbol.

Cómo ver qué está montado

$ lsblk
$ df -h
$ mount | head

Montajes persistentes (/etc/fstab)

# Dispositivo   Punto de montaje   Tipo   Opciones      Dump  Pass
UUID=xxxx-xxxx  /home              ext4   defaults       0     2
UUID=yyyy-yyyy  /datos             xfs    noatime        0     2

Atención: un error en /etc/fstab puede dejar el sistema en modo de rescate. Probá con sudo mount -a antes de reiniciar para validar.

No todos los sistemas de archivos son iguales. Los más comunes en Linux hoy:

  • ext4: el “default” en muchas distros. Sólido, rápido, maduro.
  • XFS: excelente en archivos grandes y servidores.
  • Btrfs: snapshots, compresión, subvolúmenes. Ideal para “pruebas” y rollbacks en el día a día.
  • ZFS: integridad de datos, snapshots, RAID avanzado (licenciamiento especial). Muy popular en servidores y NAS.
  • F2FS: pensado para NAND/SSD.

Podés ver el tipo con lsblk -f o blkid.

Estos directorios no “viven” en el disco como tal: se generan al vuelo por el kernel y udev.

  • /proc: datos de procesos (/proc/<PID>), estado del kernel (/proc/cpuinfo, /proc/meminfo).
  • /sys: expone dispositivos y atributos del kernel. Muchas herramientas leen/escriben acá para configurar hardware.
  • /dev: archivos de dispositivo: /dev/sda, /dev/null, /dev/input/.

Dato: por eso, si listás /proc o /sys con du -sh, el tamaño reportado “no cierra” con el del disco: ¡no ocupan espacio real!

Cada archivo tiene un propietario (usuario), un grupo y permisos (r, w, x). También existe la idea de inodo: una ficha con metadatos (tamaños, tiempos, punteros a bloques). Dos nombres distintos pueden apuntar al mismo inodo (hard link).

$ ls -l /etc/hosts
-rw-r--r-- 1 root root 408 Jun  1 10:00 /etc/hosts

$ stat /etc/hosts
$ find /var/log -type f -size +100M

Entender permisos e inodos te evita dolores de cabeza al mover o respaldar datos.

# Ver el “piso” del sistema
$ ls -l /

# Árbol a un nivel (instalar 'tree' si no lo tenés)
$ tree -L 1 /

# Espacio por punto de montaje y por directorio
$ df -h
$ du -sh /var/* | sort -h

# Qué sistema de archivos usa cada partición
$ lsblk -f

# Buscar archivos grandes
$ sudo du -xh / | sort -h | tail -n 25

  • No llenes / ni /var: si los logs crecen sin control, configurá rotación (logrotate) y revisá servicios ruidosos.
  • Mantené /home separado: usar una partición o subvolumen propio te simplifica reinstalaciones.
  • Respetá la FHS: no inventes carpetas arbitrarias en /. Para apps “portables”, mejor /opt o tu ~/.local.
  • Backups realistas: probá restaurar. Snapshot sin copia externa no es backup.
  • Cuida permisos: chmod -R 777 / no es travesura: es desastre.

El sistema de archivos en Linux no es solo “dónde guardo mis cosas”: es el mapa del territorio. Saber qué hay en /etc, por qué /usr es tan importante o cómo montar un disco en /mnt te da poder real para entender, solucionar y prevenir problemas. A partir de acá, explorar logs en /var, ajustar permisos con criterio o elegir entre ext4 y Btrfs deja de ser un salto al vacío y se vuelve una decisión consciente.

Si este tema te resultó útil, guardalo y compártelo: a más gente con el mapa en la mano, menos sustos en producción 😉.

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *