# Estructura de directorios de Linux (FHS)

**Categoría:** Linux y sistemas · **Nivel:** Inicial · **Lectura:** 11 min
**Publicada:** 2026-07-28 · **Actualizada:** 2026-07-28 · **Autoría:** Underc0de
**Versión HTML (canónica):** https://underc0de.org/guias/linux/estructura-de-directorios-de-linux-fhs/

## Respuesta rápida

A diferencia de Windows, Linux **no tiene unidades separadas** (C:, D:). Todo el sistema cuelga de una **única raíz**, representada por una barra: /. A partir de ahí, cada directorio tiene una **función definida** por un estándar llamado **FHS** (*Filesystem Hierarchy Standard*), y por eso los sistemas Linux se parecen tanto entre sí. Los directorios que más importa conocer son: /etc (los **archivos de configuración** del sistema y los servicios), /var (datos **variables**: registros o *logs*, colas, cachés), /usr (los **programas instalados** y sus recursos), /home (las **carpetas personales** de los usuarios, como /home/ana), /bin y /sbin (los **comandos esenciales**), /tmp (archivos **temporales** que se borran al reiniciar), /dev (los **dispositivos**, tratados como archivos) y /root (la carpeta personal del administrador). Saber qué vive en cada sitio es lo que te permite **orientarte** en cualquier máquina: cuando algo falla, sabés que la configuración está en /etc y los registros en /var/log.

## La raíz única

El primer cambio mental al llegar a Linux es que **no hay letras de unidad**. En vez de un C: para el sistema y un D: para los datos, hay una sola jerarquía que empieza en la **raíz**, /. Los discos y particiones adicionales no aparecen como unidades nuevas, sino que se **montan** dentro de esa jerarquía, en una carpeta (por ejemplo un disco externo en /mnt/backup). Todo, absolutamente todo, cuelga de /.

> **Un estándar que unifica**
>
> El **FHS** (*Filesystem Hierarchy Standard*) define qué debe contener cada directorio. Gracias a él, un archivo de configuración está en /etc tanto en Ubuntu como en Fedora o Debian, y quien aprende la estructura en una distribución se orienta en todas. No es una regla arbitraria: es lo que hace **predecible** el sistema.

## Los directorios clave

Estos son los directorios que conviene reconocer, con una frase para recordar cada uno:

| Directorio | Qué guarda |
|---|---|
| /etc | Configuración del sistema y los servicios, en texto plano. |
| /var | Datos variables: registros (/var/log), colas, cachés. |
| /usr | Programas instalados y sus recursos (/usr/bin, /usr/share). |
| /home | Carpetas personales de los usuarios (/home/ana). |
| /root | Carpeta personal del administrador (no confundir con /). |
| /bin, /sbin | Comandos esenciales del sistema y de administración. |
| /tmp | Archivos temporales; suelen borrarse al reiniciar. |
| /dev | Dispositivos (discos, terminales) tratados como archivos. |
| /boot | Archivos de arranque, incluido el núcleo (*kernel*). |
| /lib | Bibliotecas compartidas que necesitan los programas. |

## Recorrido de arriba a abajo

Un recorrido mental ayuda a fijar las ideas. Cuando **instalás un programa** con el [gestor de paquetes](../gestion-de-paquetes-en-linux-apt-dnf-pacman/index.md), su ejecutable acaba normalmente en /usr/bin y sus archivos compartidos en /usr/share. Cuando ese programa necesita **configuración**, la busca en /etc. Mientras **funciona**, escribe sus registros en /var/log y guarda datos temporales en /tmp. Y todo lo que *vos* creás —documentos, descargas, tu propia configuración— vive en tu carpeta dentro de /home.

> **Atención**
>
> Si tenés que recordar solo tres: **configuración → /etc**, **registros → /var/log**, **tus cosas → /home**. Con eso resolvés la mayoría de las situaciones cotidianas, desde ajustar un servicio hasta averiguar por qué algo falló.

## Errores frecuentes

- **Confundir / con /root.** La raíz es /; /root es la carpeta personal del administrador.
- **Buscar «unidades» como en Windows.** No existen; los discos se montan dentro de la jerarquía única.
- **Guardar datos importantes en /tmp.** Se borra al reiniciar; usar /home o una ruta persistente.
- **Editar a mano archivos en /usr.** Los gestiona el gestor de paquetes; la configuración va en /etc.
- **Tocar /dev o /proc sin saber.** No son archivos normales; representan dispositivos y estado del núcleo.
- **Ignorar /var/log cuando algo falla.** Es el primer lugar donde mirar ante un problema.
- **Creer que cada distro es un mundo.** El FHS hace que la estructura sea casi la misma en todas.

## Preguntas frecuentes

**¿Por qué en Linux no hay unidades C: o D:?**
En Linux no existen las letras de unidad como C: o D: porque el sistema organiza todo el almacenamiento en una única jerarquía de directorios que empieza en un punto llamado raíz, representado por una sola barra. En lugar de asignar una letra distinta a cada disco o partición, Linux integra cada dispositivo de almacenamiento dentro de esa jerarquía mediante un proceso llamado montaje, que consiste en asociar el contenido de un disco o partición a una carpeta concreta del árbol. Por ejemplo, un disco externo puede aparecer montado dentro de una carpeta como la de medios extraíbles, y a partir de ese momento se accede a su contenido navegando a esa carpeta, igual que a cualquier otra parte del sistema, sin necesidad de cambiar de unidad. Este enfoque tiene la ventaja de que la ubicación de los datos es independiente de en qué disco físico estén almacenados realmente, lo que da mucha flexibilidad: se puede dedicar un disco entero a una carpeta muy usada, como la de los usuarios o la de los registros, sin que quien usa el sistema tenga que saberlo ni cambie la forma de acceder a los archivos. Es un modelo distinto al de Windows, pero una vez comprendido resulta coherente y potente, porque unifica todo el almacenamiento bajo una sola estructura lógica.

**¿Qué es el FHS?**
El FHS, o Filesystem Hierarchy Standard, es decir estándar de jerarquía del sistema de archivos, es una especificación que define qué directorios debe tener un sistema Linux y qué tipo de contenido corresponde a cada uno. Su objetivo es lograr coherencia y previsibilidad entre las distintas distribuciones, de manera que los archivos de configuración, los programas, los registros y los datos de los usuarios se encuentren siempre en lugares equivalentes, independientemente de si el sistema es Ubuntu, Debian, Fedora u otro. Gracias a este estándar, quien aprende la estructura de directorios en una distribución puede orientarse sin dificultad en cualquier otra, y los desarrolladores de software saben dónde instalar cada componente y dónde buscar la configuración, lo que facilita enormemente la administración y la portabilidad. El estándar establece, por ejemplo, que la configuración del sistema vaya en el directorio etc, que los datos variables como los registros vayan en var, que los programas instalados vivan en usr, y que las carpetas personales de los usuarios estén bajo home. No se trata de una imposición rígida sin excepciones, ya que las distribuciones tienen cierto margen y con el tiempo han surgido variaciones, pero en lo esencial el FHS es lo que hace que todos los sistemas Linux compartan una estructura reconocible y ordenada, en lugar de que cada uno organice sus archivos a su manera.

**¿Dónde están los archivos de configuración en Linux?**
Los archivos de configuración del sistema y de los servicios se encuentran en el directorio etc, que es uno de los más importantes que conviene conocer. Este directorio contiene, en su gran mayoría, archivos de texto plano que definen cómo se comporta el sistema y cada uno de los programas y servicios instalados, desde la configuración de red y los usuarios hasta los parámetros de un servidor web o de una base de datos. El hecho de que sean archivos de texto es una característica muy valorada de Linux, porque permite inspeccionarlos y modificarlos con cualquier editor, entender qué hacen, comentarlos y llevarlos a un control de versiones si se desea. Además de la configuración global que vive en etc, existe la configuración personal de cada usuario, que se guarda dentro de su propia carpeta en home, habitualmente en archivos y carpetas ocultos cuyo nombre empieza por un punto, y que ajustan el comportamiento de las aplicaciones solo para ese usuario, sin afectar a los demás. Esta separación entre la configuración del sistema, en etc, y la configuración personal, en la carpeta del usuario, es una distinción clave: los cambios en etc suelen requerir privilegios de administrador y afectan a todo el sistema, mientras que los cambios en la carpeta personal los puede hacer cada usuario por su cuenta y solo le afectan a él.

**¿Para qué sirve el directorio /var?**
El directorio var, cuyo nombre viene de variable, está destinado a almacenar los datos que cambian constantemente durante el funcionamiento normal del sistema, en contraste con los programas y la configuración, que permanecen relativamente estables. Dentro de var, el subdirectorio más consultado en el día a día es el de los registros, donde el sistema y los servicios van escribiendo de forma continua información sobre lo que hacen, incluidos los errores y advertencias, de modo que es el primer lugar al que se acude cuando algo falla y hay que averiguar por qué. Además de los registros, var contiene otros datos que crecen o cambian con el uso, como las colas de correo y de impresión pendientes, las cachés de distintos programas, los datos de bases de datos en algunas configuraciones, y archivos temporales que deben sobrevivir a un reinicio, a diferencia de los del directorio temporal general. La idea de fondo es separar claramente los datos volátiles y cambiantes del resto del sistema, lo que tiene ventajas prácticas de administración, como poder dedicar un disco o partición específicos a var para que el crecimiento de los registros o de las colas no llene el resto del sistema. Para quien administra o diagnostica un sistema Linux, familiarizarse con var, y en particular con su carpeta de registros, es una de las habilidades más útiles.

**¿Cuál es la diferencia entre /bin y /usr/bin?**
Tanto bin como usr bin contienen programas ejecutables, es decir los comandos que se pueden lanzar desde la terminal, pero históricamente cumplían funciones ligeramente distintas dentro del diseño del sistema. El directorio bin, situado directamente bajo la raíz, se reservaba para los comandos esenciales que deben estar disponibles siempre, incluso en situaciones de arranque o de recuperación en las que otras partes del sistema todavía no están accesibles, como los comandos básicos para listar archivos, copiar, mover o montar sistemas de archivos. El directorio usr bin, en cambio, albergaba la gran mayoría del resto de los programas de usuario, es decir las aplicaciones y utilidades que se usan durante el funcionamiento normal pero que no son imprescindibles para arrancar o reparar el sistema. Junto a ellos existen también sbin y usr sbin, que siguen la misma lógica pero para los comandos de administración del sistema, pensados para el administrador. En muchas distribuciones modernas esta distinción histórica se ha difuminado mediante una unificación en la que los directorios de la raíz son simplemente enlaces a sus equivalentes dentro de usr, de modo que en la práctica todos los ejecutables acaban en un mismo lugar, pero la separación conceptual sigue siendo útil para entender por qué existen varias carpetas de comandos y qué tipo de programa cabe esperar en cada una.

**¿Puedo borrar los archivos de /tmp?**
El directorio tmp está pensado precisamente para archivos temporales, es decir, datos de corta vida que los programas crean mientras trabajan y que no necesitan conservarse a largo plazo, por lo que en principio su contenido es prescindible. De hecho, en la mayoría de los sistemas el contenido de tmp se limpia automáticamente, ya sea al reiniciar el equipo o mediante mecanismos que eliminan los archivos que llevan cierto tiempo sin usarse, de manera que no conviene guardar allí nada que se quiera conservar. Dicho esto, borrar manualmente archivos de tmp mientras el sistema está en funcionamiento debe hacerse con cierta precaución, porque puede haber programas que en ese momento estén usando activamente alguno de esos archivos temporales, y eliminarlos podría provocar errores o comportamientos inesperados en esas aplicaciones. Por eso la recomendación práctica es no depender de tmp para almacenar nada importante, ya que puede desaparecer en cualquier momento, y a la vez evitar borrar su contenido a mano de forma indiscriminada mientras el sistema está en uso, dejando que los mecanismos automáticos de limpieza hagan su trabajo. Si se necesita liberar espacio o hacer limpieza, lo más seguro suele ser reiniciar, momento en el que el sistema vacía el directorio temporal de forma ordenada. Para datos que deban persistir, la ubicación correcta es la carpeta personal del usuario dentro de home o una ruta permanente adecuada.

## Fuentes

Documentación oficial y material de la comunidad consultados para esta guía. Fecha de consulta: 28 de julio de 2026.

### Aportes de la comunidad Underc0de

1. **Underc0de, foro.** [Sección GNU/Linux](https://underc0de.org/foro/gnu-linux/). Dudas sobre el sistema de archivos.
2. **Underc0de, blog.** [Blog de la comunidad](https://underc0de.org/blog/). Artículos de sistemas.

### Documentación oficial

1. **Linux Foundation.** [Filesystem Hierarchy Standard](https://refspecs.linuxfoundation.org/fhs.shtml). El estándar oficial descrito en la guía.
2. **The Linux Documentation Project.** [The directory structure](https://tldp.org/LDP/intro-linux/html/sect_03_01.html). Explicación de referencia.
3. **Arch Wiki.** [File hierarchy](https://wiki.archlinux.org/title/File_hierarchy). Descripción práctica de cada directorio.
4. **man7.org.** [hier(7)](https://man7.org/linux/man-pages/man7/hier.7.html). Página de manual sobre la jerarquía.

## Guías relacionadas

- [Comandos útiles de Linux](../comandos-utiles-de-linux/index.md)
- [Permisos en Linux](../permisos-y-propietarios-de-archivos-en-linux/index.md)
- [Administración de servidores](../administracion-de-servidores-linux-desde-cero/index.md)
- [Gestión de paquetes](../gestion-de-paquetes-en-linux-apt-dnf-pacman/index.md)
- [Índice de Linux y sistemas](../index.md)
