# Estructura de Directorios de Linux: Conoce el Corazón de tu Sistema 🐧

La estructura de directorios de Linux no es arbitraria; se rige por el **Filesystem Hierarchy Standard (FHS)**. Este estándar define los propósitos, ubicaciones y contenidos esperados para los directorios principales, asegurando que el sistema operativo y las aplicaciones puedan funcionar de manera predecible en cualquier distribución de Linux.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759330965797/50694480-76fd-41ae-89a1-d9df40a7a9a3.png align="center")

*Figura 2.1 - La estructura de directorios en Linux*

La idea central es que ***todo en Linux es un archivo*** (incluso un directorio que contiene archivos), y la estructura comienza en un único punto: el directorio raíz (/).

Para visualizar esta idea, imagina una fila de archivos, uno seguido de otro. Un **directorio** es un *archivo separador* que indica que todos los demás archivos después de él, están contenidos dentro de él:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1759331008796/963e5cf8-1a8b-4a04-93e6-819d55e20518.png align="center")

*Figura 2.2 - Todo en Linux es un archivo*

---

## **Directorios Clave y su Propósito 📂**

El FHS establece una serie de directorios con funciones muy específicas. Aquí tienes una descripción de los más importantes:

<table><tbody><tr><td colspan="1" rowspan="1"><p>Directorio</p></td><td colspan="1" rowspan="1"><p>Descripción</p></td></tr><tr><td colspan="1" rowspan="1"><p><code>/</code></p></td><td colspan="1" rowspan="1"><p><strong>Raíz (Root)</strong>. Es el nivel superior de toda la jerarquía de directorios. Todos los demás directorios y archivos se ramifican a partir de este punto.</p></td></tr><tr><td colspan="1" rowspan="1"><p><code>/home</code></p></td><td colspan="1" rowspan="1"><p>Contiene los <strong>directorios personales</strong> de los usuarios. Aquí es donde los usuarios almacenan sus archivos, configuraciones y datos. Por ejemplo, /home/usuario.</p></td></tr><tr><td colspan="1" rowspan="1"><p><code>/bin</code></p></td><td colspan="1" rowspan="1"><p><strong>Binarios de usuario esenciales</strong>. Contiene comandos ejecutables que son necesarios para arrancar y reparar el sistema, y que son utilizados por todos los usuarios (ej: ls, cat, mv).</p></td></tr><tr><td colspan="1" rowspan="1"><p><code>/etc</code></p></td><td colspan="1" rowspan="1"><p><strong>Archivos de configuración</strong>. Contiene los archivos de configuración estáticos, específicos de la máquina, que controlan el sistema (ej: /etc/passwd, /etc/fstab).</p></td></tr><tr><td colspan="1" rowspan="1"><p><code>/var</code></p></td><td colspan="1" rowspan="1"><p><strong>Archivos de datos variables</strong>. Contiene datos que se modifican con frecuencia, como <strong>logs</strong> del sistema (/var/log), <strong>spool</strong> de correo o impresión, y archivos temporales de aplicaciones web.</p></td></tr><tr><td colspan="1" rowspan="1"><p><code>/boot</code></p></td><td colspan="1" rowspan="1"><p><strong>Archivos de arranque</strong>. Contiene los archivos necesarios para el proceso de arranque de Linux, incluyendo el <strong>kernel</strong> y los archivos del gestor de arranque <strong>GRUB</strong>.</p></td></tr><tr><td colspan="1" rowspan="1"><p><code>/usr</code></p></td><td colspan="1" rowspan="1"><p><strong>Jerarquía de sistema compartida (Unix System Resources)</strong>. Contiene la mayoría de los programas ejecutables, bibliotecas, documentación y archivos fuente que no son esenciales para el arranque (ej: /usr/bin, /usr/lib). Es grande y solo de lectura en el uso normal.</p></td></tr><tr><td colspan="1" rowspan="1"><p><code>/tmp</code></p></td><td colspan="1" rowspan="1"><p><strong>Archivos temporales</strong>. Contiene archivos temporales creados por el sistema y los usuarios. Su contenido se borra a menudo al reiniciar el sistema.</p></td></tr></tbody></table>

---

## **Navegación Básica: Tus Primeros Comandos 🧭**

Dominar la línea de comandos comienza con saber dónde estás y cómo moverte. Aquí están las tres herramientas de navegación esenciales que todo administrador debe conocer:

### `pwd` **(Print Working Directory)**

Muestra la **ruta absoluta** del directorio actual donde te encuentras. Es tu comando para saber *exactamente* dónde estás en la jerarquía.

```bash
$ pwd
/home/usuario
```

### `cd` **(Change Directory)**

Permite **cambiar el directorio actual**. Puedes usar rutas absolutas (que comienzan en /) o rutas relativas (a partir de tu posición actual).

<table><tbody><tr><td colspan="1" rowspan="1"><p>Comando</p></td><td colspan="1" rowspan="1"><p>Acción</p></td></tr><tr><td colspan="1" rowspan="1"><p><code>cd /etc</code></p></td><td colspan="1" rowspan="1"><p>Mueve al directorio de configuración (ruta absoluta).</p></td></tr><tr><td colspan="1" rowspan="1"><p><code>cd ..</code></p></td><td colspan="1" rowspan="1"><p>Sube un nivel en la jerarquía (al directorio padre).</p></td></tr><tr><td colspan="1" rowspan="1"><p><code>cd ~</code></p></td><td colspan="1" rowspan="1"><p>Mueve a tu directorio personal (/home/usuario).</p></td></tr><tr><td colspan="1" rowspan="1"><p><code>cd</code></p></td><td colspan="1" rowspan="1"><p>Lo mismo que cd ~.</p></td></tr><tr><td colspan="1" rowspan="1"><p><code>cd -</code></p></td><td colspan="1" rowspan="1"><p>Regresa al directorio anterior (siempre que haya uno en el historial)</p></td></tr></tbody></table>

### `ls` **(LiSt)**

Muestra una **lista del contenido** (archivos y subdirectorios) del directorio actual o de uno especificado.

<table><tbody><tr><td colspan="1" rowspan="1"><p>Comando</p></td><td colspan="1" rowspan="1"><p>Acción</p></td></tr><tr><td colspan="1" rowspan="1"><p><code>ls</code></p></td><td colspan="1" rowspan="1"><p>Lista el contenido del directorio actual.</p></td></tr><tr><td colspan="1" rowspan="1"><p><code>ls -l</code></p></td><td colspan="1" rowspan="1"><p>Muestra la lista con un <strong>formato largo</strong> (permisos, propietario, tamaño, fecha).</p></td></tr><tr><td colspan="1" rowspan="1"><p><code>ls -a</code></p></td><td colspan="1" rowspan="1"><p>Muestra <strong>todos los archivos</strong>, incluyendo los ocultos (que empiezan por un punto .).</p></td></tr><tr><td colspan="1" rowspan="1"><p><code>ls -lah</code></p></td><td colspan="1" rowspan="1"><p>Una combinación popular: Largo, Todos, y tamaño legible por humanos.</p></td></tr><tr><td colspan="1" rowspan="1"><p><code>ls -ltr</code></p></td><td colspan="1" rowspan="1"><p>Muestra todos los archivos visibles (no ocultos) en orden descendente por fecha de creación.</p></td></tr></tbody></table>

¡Con estos comandos, ya puedes empezar a explorar el corazón de tu sistema Linux! **La práctica constante es clave** para dominar la estructura de directorios y prepararte para tus certificaciones.

---

## Invitación a la Comunidad 🚀

Este *post* forma parte de una serie dedicada a la arquitectura y administración de sistemas Linux. ¡Queremos construir el mejor recurso posible **con tu ayuda**!

Te invitamos a:

* **Clonar el Repositorio:** El código fuente de todos nuestros artículos está disponible en **GitHub**.
    
* **Contribuir:** Si encuentras algún error, tienes sugerencias para mejorar la claridad de los conceptos o deseas proponer correcciones técnicas, no dudes en enviar un *Pull Request* (Solicitud de extracción).
    
* **Comentar:** ¿Tienes una pregunta o un punto de vista diferente sobre algún concepto? Abre un *Issue* (Incidencia) en el repositorio para iniciar la discusión.
    

Tu colaboración es vital para mantener este contenido preciso y actualizado.

**¡Encuentra el repositorio y participa aquí:** [github.com/rootzilopochtli/introduccion-a-linux](https://github.com/rootzilopochtli/introduccion-a-linux)
