Jerarquía, enlaces y metadatos del sistema de archivos
🎯 Objetivo del módulo Reconocer los directorios principales de Linux, consultar información de archivos y crear enlaces físicos o simbólicos con criterio.
1. Directorios principales #
| Ruta | Contenido habitual |
|---|---|
/ | raíz del árbol de directorios |
/home | directorios personales de usuarios |
/root | directorio personal de root |
/etc | configuración del sistema y servicios |
/var | datos variables: logs, colas, cachés y estado |
/tmp | archivos temporales; su conservación no está garantizada |
/usr | programas, bibliotecas y datos compartidos instalados |
/bin, /sbin | comandos esenciales; en muchos sistemas son enlaces hacia /usr |
/dev | interfaces de dispositivos |
/proc | vista virtual de procesos e información del kernel |
/sys | vista virtual de dispositivos y subsistemas del kernel |
/run | estado volátil desde el arranque actual |
/mnt, /media | puntos de montaje manuales o de medios extraíbles |
La distribución exacta puede variar. /proc, /sys y partes de /dev no son directorios de archivos normales almacenados en disco.
2. Identificar el tipo con file #
Las extensiones no determinan el tipo real de un archivo en Linux.
1file documento 2file /bin/ls 3file imagen.webp
file inspecciona el contenido y otros indicadores para ofrecer una descripción.
3. Consultar metadatos con stat #
1stat archivo.txt 2stat -c '%n %s bytes %a %U:%G' archivo.txt
stat puede mostrar:
- Tamaño y bloques utilizados.
- Número de inodo.
- Permisos.
- Propietario y grupo.
- Fechas de acceso, modificación y cambio de metadatos.
ctime no significa fecha de creación: en sistemas Unix representa normalmente el último cambio de metadatos del inodo. La fecha de creación solo aparece si el sistema de archivos y las herramientas la proporcionan.
4. Inodos y nombres #
Un directorio relaciona nombres con inodos. El inodo contiene metadatos y referencia los datos del archivo.
1ls -li archivo.txt
Varios nombres pueden apuntar al mismo inodo mediante enlaces físicos.
5. Enlaces físicos #
1ln original.txt copia_enlazada.txt
Características:
- Ambos nombres apuntan al mismo inodo y contenido.
- Borrar uno de los nombres no elimina los datos mientras quede otro enlace.
- No suelen permitirse sobre directorios.
- No pueden atravesar sistemas de archivos distintos.
Comprueba los inodos:
1ls -li original.txt copia_enlazada.txt
6. Enlaces simbólicos #
1ln -s /ruta/al/original acceso_directo
Un enlace simbólico es un archivo especial que almacena una ruta. Puede apuntar a directorios y atravesar sistemas de archivos.
1ls -l acceso_directo 2readlink acceso_directo 3readlink -f acceso_directo
Si el destino se mueve o elimina, el enlace queda roto.
Rutas absolutas y relativas #
1ln -s ../config/app.conf app.conf
Una ruta relativa se interpreta desde el directorio que contiene el enlace, no desde el directorio actual de quien lo utiliza.
7. Resolver rutas con realpath #
1realpath ./enlace/../archivo
realpath muestra una ruta absoluta normalizada y, de forma predeterminada en muchas implementaciones, resuelve enlaces simbólicos. Algunas opciones y requisitos sobre la existencia de los componentes varían entre sistemas.
8. Tamaño aparente y espacio ocupado #
1ls -lh archivo 2du -h archivo 3stat archivo
ls -lmuestra el tamaño lógico o aparente.dumuestra el espacio de bloques ocupado.- Pueden diferir en archivos dispersos, comprimidos por el sistema de archivos o con asignación especial.
9. Casos prácticos #
Enlace a una versión activa #
1ln -sfn app-2.0 app-actual
Usa esta operación con cuidado: -f reemplaza el destino existente cuando procede y el comportamiento puede resultar sorprendente si el destino es un directorio real.
Localizar el ejecutable final #
1command -v python3 2realpath "$(command -v python3)"
Consultar un proceso mediante /proc #
1readlink -f /proc/$$/exe
$$ es el PID de la shell actual.
10. Errores comunes #
- Pensar que una extensión define el tipo real del archivo.
- Confundir enlaces físicos con copias independientes.
- Crear un enlace simbólico relativo desde el directorio equivocado.
- Interpretar
ctimecomo fecha de creación. - Editar directamente contenidos virtuales de
/proco/syssin conocer sus efectos.
Resumen del tema
Usa file para identificar contenido, stat para consultar metadatos, ln para enlaces físicos, ln -s para enlaces simbólicos y readlink o realpath para seguir sus destinos.