> For the complete documentation index, see [llms.txt](https://juanbermudez.gitbook.io/aprendiendolinux/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://juanbermudez.gitbook.io/aprendiendolinux/sistema-de-archivos.md).

# Sistema de archivos

El estándar de jerarquía del sistema de archivos ([FHS](https://www.pathname.com/fhs/)) consiste en establecer un orden adecuado para los directorios del sistema operativo. La jerarquía del sistema de archivos puede llegar a variar un poco en algunas distribuciones, pero no supone un problema.

### Estructura

<table><thead><tr><th width="100">FHS</th><th>Compartidos</th><th>No compartidos</th></tr></thead><tbody><tr><td>Estático</td><td><code>/usr</code> <code>/opt</code></td><td><code>/etc</code> <code>/boot</code></td></tr><tr><td>Variable</td><td><code>/var/mail</code> <code>/var/spool</code></td><td><code>/var/run</code> <code>/var/lock</code></td></tr></tbody></table>

<table><thead><tr><th width="100">Directorio</th><th>Descripción</th></tr></thead><tbody><tr><td>/</td><td>Raíz del sistema de archivos</td></tr><tr><td>bin</td><td>Binarios de comandos esenciales</td></tr><tr><td>boot</td><td>Archivos estáticos del cargador de arranque</td></tr><tr><td>dev</td><td>Archivos del dispositivo</td></tr><tr><td>etc</td><td>Configuración del sistema específica del host</td></tr><tr><td>lib</td><td>Bibliotecas compartidas esenciales y módulos del kernel</td></tr><tr><td>media</td><td>Punto de montaje para medios extraíbles</td></tr><tr><td>mnt</td><td>Punto de montaje para montar temporalmente un sistema de archivos</td></tr><tr><td>opt</td><td>Paquetes de software de aplicaciones complementarias</td></tr><tr><td>sbin</td><td>Binarios esenciales del sistema</td></tr><tr><td>srv</td><td>Datos de los servicios prestados por este sistema</td></tr><tr><td>tmp</td><td>Archivos temporales</td></tr><tr><td>usr</td><td>Jerarquía secundaria</td></tr><tr><td>var</td><td>Datos variables</td></tr></tbody></table>

En la actualidad, varios de de estos directorios son enlaces simbólicos a otros directorios internos; por ejemplo `/bin` y `/sbin` son enlaces simbólicos a `/usr/bin`, que contiene los binarios de comandos esenciales para el usuario (para uso de todos los usuarios) y no debería tener subdirectorios.

También es posible que veamos enlaces simbólicos como `/lib32` o `/lib64` que se dirigen a `/lib`, esto depende de si nuestro hardware y sistema operativo son de 32 o 64 bits.

<table><thead><tr><th width="140">Directorio</th><th>Descripción</th></tr></thead><tbody><tr><td>home</td><td>Contiene los directorios de trabajo de todos los usuarios</td></tr><tr><td>lost+found</td><td>Fragmentos perdidos y encontrados</td></tr><tr><td>proc</td><td>Contiene principalmente archivos que documentan al núcleo y el estado de los procesos en archivos de texto</td></tr><tr><td>root</td><td>Directorio del usuario root (administrador del sistema)</td></tr><tr><td>run</td><td>Datos temporales en tiempo de ejecución</td></tr><tr><td>sys</td><td>Sistema de archivos virtuales que documenta el núcleo pero de forma jerarquizada</td></tr></tbody></table>

Por seguridad, el usuario root tiene su propio directorio donde los usuarios normales no pueden entrar o ver su contenido, mientras que los demás usuarios tendrán su directorio en `/home`.

El directorio `lost+found` es muy importante para el sistema, y suele estar presente en todas las unidades de almacenamiento. Aquí se encuentra los fragmentos recuperados de archivos dañados. Por ejemplo, si el sistema se apaga repentinamente, la herramienta fsck examina automáticamente los sistemas de archivos en el próximo inicio, si encuentra datos corruptos los mueve `lost+found`.
