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é.
¿Qué es el sistema de archivos en Linux?
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 jerarquía FHS y por qué existe
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.
Directorios clave y qué guardan
Ruta | Qué guarda | Notas |
---|---|---|
/ | Raíz del sistema. | Desde aquí se monta todo lo demás. |
/bin y /usr/bin | Comandos esenciales y de usuario. | Ej.: ls , cp , grep . |
/sbin y /usr/sbin | Herramientas de administración. | Ej.: mount , fsck , ip . |
/etc | Configuración del sistema (texto). | Ej.: /etc/hosts , /etc/fstab , /etc/passwd . |
/home | Carpetas de usuarios. | Tus documentos, descargas, configs personales (~/.config ). |
/root | Home del superusuario. | No confundir con / . |
/usr | Aplicaciones y datos “de solo lectura”. | /usr/bin , /usr/lib , /usr/share . |
/var | Datos variables. | Logs en /var/log , colas, cachés, BD. |
/tmp | Archivos temporales. | Puede limpiarse al reiniciar. |
/opt | Software “opcional” de terceros. | Algunas apps comerciales. |
/srv | Datos de servicios. | Ej.: /srv/www para HTTP. |
/mnt y /media | Puntos de montaje. | Manual (/mnt ) y automontajes (/media ). |
/boot | Kernel e initramfs, gestor de arranque. | Grub, kernels, etc. |
/dev | Dispositivos como archivos. | Discos, puertos, etc. |
/proc | Información de procesos y kernel. | Pseudo-FS: se genera en vivo. |
/sys | Interfaz con el kernel y drivers. | También pseudo-FS. |
/run | Estado de ejecución (runtime). | PID files, sockets temporales. |
/lib y /usr/lib | Librerí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.
Puntos de montaje: unir piezas en /
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.
Tipos de sistemas de archivos: ext4, XFS, Btrfs, ZFS…
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
.
Pseudo-sistemas especiales: /proc, /sys y /dev
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!
Permisos, propietarios e inodos
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.
Comandos prácticos para explorarlo
# 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
Buenas prácticas y errores típicos
- 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.
Lecturas externas recomendadas
- Filesystem Hierarchy Standard (FHS)
- Documentación de sistemas de archivos del kernel
- Manual de GNU Coreutils
Conclusión
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 😉.