Sistema de archivos en Linux (FHS)¶
El sistema de archivos es una de las piezas más importantes de Linux. Como sysadmin, entender dónde está cada cosa y por qué es fundamental para administrar, depurar y recuperar sistemas.
¿Qué es el sistema de archivos?¶
Es la forma en la que Linux:
- Organiza los datos
- Almacena archivos
- Estructura directorios
- Accede a dispositivos
En Linux, todo parte de un único punto:
/
Esto se llama root filesystem (no confundir con el usuario root).
Estructura jerárquica¶
A diferencia de otros sistemas, Linux usa una estructura en árbol:
/
├── home
├── etc
├── var
├── usr
├── tmp
└── ...
Todo cuelga de /
FHS (Filesystem Hierarchy Standard)¶
Es el estándar que define qué va en cada directorio.
No es opcional en la práctica: todas las distros importantes lo siguen.
Directorios principales¶
/home¶
- Directorios personales de usuarios
- Ej:
/home/david
Aquí va todo lo del usuario (docs, configs personales, etc.)
/root¶
- Home del usuario root
No está en /home por seguridad
/etc¶
- Archivos de configuración del sistema
Ejemplos:
/etc/passwd
/etc/ssh/sshd_config
/etc/fstab
Regla de oro: aquí no hay binarios, solo config
/usr¶
- Programas y librerías del sistema
Subdirectorios:
/usr/bin→ comandos/usr/sbin→ comandos de admin/usr/lib→ librerías
Software instalado desde paquetes
/bin y /sbin¶
-
Binarios esenciales
-
/bin→ comandos básicos (ls, cp, bash) -
/sbin→ herramientas de sistema
Necesarios para que el sistema arranque
/var¶
- Datos variables (cambian constantemente)
Ejemplos:
- Logs →
/var/log - Spool →
/var/spool - Cache →
/var/cache
Muy importante en troubleshooting
/tmp¶
- Archivos temporales
Se puede limpiar automáticamente
/opt¶
- Software opcional/manual
Ejemplo:
- Aplicaciones instaladas fuera del sistema de paquetes
/dev¶
- Dispositivos del sistema
Ejemplos:
/dev/sda
/dev/null
/dev/random
“Todo es un archivo”
/proc¶
- Información del sistema en tiempo real
Ejemplo:
/proc/cpuinfo
/proc/meminfo
No son archivos reales (pseudo filesystem)
/sys¶
- Información del kernel y hardware
Más moderno que /proc
/boot¶
- Archivos de arranque
Ejemplo:
- Kernel
- GRUB
/mnt y /media¶
-
Montajes
-
/mnt→ manual -
/media→ automático (USB, etc.)
Tipos de archivos en Linux¶
No todo son “archivos normales”:
-archivo normalddirectoriolenlace simbólicocdispositivo de caracteresbdispositivo de bloquesssocketppipe
Ver tipo:
ls -l
Enlaces (links)¶
Hard link¶
- Apunta al mismo inode
- No distingue entre original y copia
Symbolic link (symlink)¶
- Apunta a otro archivo por ruta
Ejemplo:
ln -s /home/david/web.html /var/www/html/
Inodos (inodes)¶
Cada archivo tiene un identificador único:
- Contiene metadatos
- No contiene el nombre del archivo
Ver inode:
ls -i
Importante para debugging (espacio, links, corrupción)
Rutas¶
Absolutas¶
/home/user/file.txt
Relativas¶
./file.txt
../file.txt
Montaje de sistemas de archivos¶
Linux “monta” dispositivos en el árbol:
Ejemplo:
mount /dev/sdb1 /mnt
Archivo clave:
/etc/fstab
Define montajes automáticos
Puntos críticos para sysadmins¶
/etc roto¶
→ sistema inutilizable
/var lleno¶
→ servicios fallan (logs, DBs, etc.)
/ lleno¶
→ todo falla
permisos incorrectos¶
→ problemas de acceso
Ejercicios prácticos¶
Ver uso de disco¶
df -h
Ver tamaño de carpetas¶
du -sh *
Explorar filesystem¶
tree /
Ver montajes¶
mount | grep "^/dev"
Mentalidad sysadmin¶
Cuando algo falla, piensa:
- ¿Dónde debería estar este archivo?
- ¿Está montado el filesystem?
- ¿Hay espacio en disco?
- ¿Los permisos son correctos?
El filesystem suele ser el origen de muchos problemas
Resumen¶
- Linux usa una estructura jerárquica desde
/ - El FHS define dónde va cada cosa
- Todo (incluyendo dispositivos) se representa como archivos
- Entender
/etc,/vary/homees clave - Montajes y espacio en disco son críticos
Siguiente paso¶
En el siguiente módulo entrarás en:
Conceptos de linux: (conceptos.md)
Donde verás:
- Redirecciones
- Pipes
- stdin / stdout / stderr
- Cómo combinar herramientas Linux