Quien llega a Linux desde Windows se encuentra con un árbol de carpetas que no se parece en nada al suyo: no hay unidad C:, no hay Archivos de programa y no hay Registro. En su lugar hay una raíz llamada / y una lista de directorios de nombres cortos —/etc, /usr, /var— que parecen arbitrarios y no lo son.
Esta guía recorre la estructura del sistema de archivos de Linux directorio a directorio, explicando para qué sirve cada uno y a qué se parece en Windows cuando hay algo parecido. Todo está contrastado con el estándar que lo define, el Filesystem Hierarchy Standard de la Linux Foundation, y con el manual hier del proyecto de páginas de manual de Linux.
Una sola raíz en lugar de letras de unidad
La diferencia de fondo es esta: en Windows cada disco y cada partición reciben una letra, y cada uno tiene su propio árbol. En Linux hay un único árbol, que empieza en /, y los discos se enganchan dentro de él en un punto concreto, que se llama punto de montaje. No hay un segundo árbol para el segundo disco; hay una carpeta del primero que, a partir de cierto momento, es el segundo.
Ese árbol tiene un propósito declarado. El estándar de jerarquía del sistema de archivos dice que el contenido de la raíz debe bastar para arrancar, restaurar, recuperar o reparar el sistema, y que en la partición raíz tiene que haber software y datos suficientes para poder montar los demás sistemas de archivos. De ahí sale casi todo lo que viene después: lo imprescindible vive arriba, y lo que puede esperar se aparta a otro sitio.
El estándar también explica por qué los directorios están repartidos así. Distingue los archivos en dos ejes: compartibles o no compartibles entre máquinas, y estáticos o variables. Los que se diferencian en cualquiera de esos dos ejes deberían vivir en directorios distintos. Esa es la lógica que separa /usr de /var, y no el capricho de nadie.
Cómo ver un árbol desde el otro
Si usas el Subsistema de Windows para Linux, los dos árboles conviven en el mismo equipo y se ven entre ellos. Microsoft lo documenta en su guía sobre sistemas de archivos: escribiendo \\wsl$ en la barra de direcciones del Explorador aparecen todas las distribuciones instaladas con su raíz, y desde la línea de comandos de Linux el disco C: de Windows se ve en /mnt/c.
Es decir, tu C:\Users\tu-usuario\Documentos es, visto desde Linux, /mnt/c/Users/tu-usuario/Documentos. Ese /mnt no es casual, y lo veremos más abajo: es exactamente el sitio que el estándar reserva para montar cosas. Si aún no tienes WSL, lo contamos entero en nuestra guía sobre qué es WSL y qué permite hacer dentro de Windows.
/bin, /sbin y /lib: lo imprescindible para arrancar
Son los tres directorios que hacen que la raíz cumpla su promesa de poder arrancar y repararse sola.
/bincontiene órdenes que pueden usar tanto el administrador como los usuarios, y que hacen falta cuando no hay ningún otro sistema de archivos montado, por ejemplo en modo monousuario. El estándar es tajante: no puede haber subdirectorios dentro de/bin./sbinguarda las utilidades de administración del sistema y otras órdenes reservadas al usuario root: lo esencial para arrancar, restaurar, recuperar o reparar. Lo que se puede ejecutar más tarde, cuando/usrya está montado, se va a/usr/sbin./libcontiene las bibliotecas compartidas que hacen falta para arrancar el sistema y para ejecutar las órdenes de/biny/sbin. Son el equivalente conceptual de los archivos DLL de Windows.
Puestos a buscar un parecido en Windows, los tres juntos vendrían a ser lo que hay dentro de C:\Windows\System32: las herramientas y bibliotecas sin las cuales el sistema no llega a ninguna parte.
A su lado están /boot, que guarda todo lo necesario para el proceso de arranque salvo los archivos de configuración que no hacen falta en ese momento —incluidos sectores de arranque guardados—, y /dev, donde viven los archivos especiales de dispositivo. En Linux, un disco o un puerto se representan como archivos, y este es su sitio.
/etc: la configuración, que en Windows sería el Registro
/etc contiene los archivos de configuración del equipo. El estándar define «archivo de configuración» con precisión: un archivo local que controla el funcionamiento de un programa, que debe ser estático y no puede ser un binario ejecutable. Y añade una prohibición que no admite lectura: no puede haber ningún binario bajo /etc. También recomienda guardar los archivos en subdirectorios de /etc en lugar de sueltos en la raíz del directorio.
El parecido con el Registro de Windows es el que más ayuda a entenderlo, y también el que más conviene matizar. Los dos guardan cómo está configurada la máquina, pero /etc es un montón de archivos de texto que se leen y se editan con cualquier editor, se copian, se comparan y se guardan en un control de versiones. El Registro es una base de datos binaria con sus propias herramientas.
Ahí es, por cierto, donde se toca la configuración de WSL por distribución: el archivo /etc/wsl.conf del que hablamos en la guía de WSL vive justo aquí, y no es casualidad.
/home: tus archivos, y una advertencia del estándar
/home es el equivalente directo de C:\Users: dentro hay un directorio por usuario, y ahí van sus documentos y su configuración personal. La configuración de cada aplicación se guarda en archivos que empiezan por un punto, los llamados dotfiles, que por esa razón no aparecen en los listados normales.
Conviene saber dos cosas que el estándar deja escritas. La primera es que /home figura como opcional y como un directorio específico de cada instalación, que cambia de una máquina a otra. La segunda se deduce de lo anterior: ningún programa debería dar por supuesta la ubicación del directorio personal, sino preguntarla. Si alguna vez escribes un guion, ahí tienes el motivo para no escribir /home/pepe a mano.
El administrador tiene el suyo aparte, en /root, que el estándar recomienda como ubicación por defecto sin imponerla.
/usr: lo que en Windows serían los Archivos de programa
/usr es la segunda gran sección del árbol y la que más despista, empezando por el nombre: no es la carpeta de los usuarios. El estándar la define como datos compartibles y de solo lectura: debería poder compartirse entre varias máquinas y no se debe escribir en ella. Todo lo que sea específico de un equipo o cambie con el tiempo va a otro sitio.
Dentro se repite la estructura de la raíz, y esa repetición confunde al principio hasta que se entiende el criterio: /usr/bin es el directorio principal de programas ejecutables, el sitio de la mayoría de las órdenes que ejecuta un usuario normal y que no hacen falta para arrancar ni para reparar el sistema. /usr/lib guarda las bibliotecas, y /usr/share, los datos que no dependen de la arquitectura: documentación, iconos, traducciones. El manual hier lo resume igual de claro.
Hay un subdirectorio que merece su propio párrafo. /usr/local es el que el administrador usa para instalar software por su cuenta, y su razón de ser es que tiene que quedar a salvo de ser sobrescrito cuando se actualiza el sistema. La regla es explícita: el software instalado localmente debe ir en /usr/local y no en /usr, salvo que se instale precisamente para reemplazar o actualizar algo de /usr.
/var: todo lo que cambia
Si /usr es lo que no cambia, /var es justo lo contrario: contiene los archivos de datos variables, incluidas las colas de trabajo, los datos administrativos, los registros y los archivos transitorios y temporales. El estándar señala que parte de /var no es compartible entre sistemas —cita /var/log, /var/lock y /var/run— y que otra parte sí, como /var/mail o las cachés de fuentes y de páginas de manual.
Y aquí está la frase que explica por qué existe este directorio: /var se especifica para que sea posible montar /usr en solo lectura. Sin un sitio donde escribir lo que cambia, no se podría blindar lo que no cambia.
En la práctica, si algo va mal, /var/log es el primer sitio donde mirar: es el equivalente del Visor de eventos de Windows, con la diferencia de que aquí son archivos de texto que se leen con las herramientas de siempre. /var/cache guarda datos cacheados por los programas, y es de lo primero que se puede borrar cuando falta espacio, igual que hacemos en Windows con archivos temporales; si andas justo, nuestra guía sobre liberar espacio en el SSD sigue la misma idea.
Cerca de /var hay un directorio moderno que conviene no confundir: /run guarda información del sistema desde que arrancó, y sus archivos deben borrarse al principio de cada arranque. Ese papel lo cumplía antes /var/run, que sigue existiendo por compatibilidad.
/tmp y /var/tmp: lo temporal, con una diferencia importante
Los dos guardan archivos temporales, pero no duran lo mismo, y confundirlos cuesta trabajo perdido.
/tmp está a disposición de los programas que necesitan archivos temporales, y el estándar avisa de que ningún programa debe suponer que sus archivos siguen ahí entre una ejecución y la siguiente. Recomienda además borrar su contenido en cada arranque del sistema.
/var/tmp es para lo temporal que sí debe sobrevivir a un reinicio, y la norma es tajante: sus archivos y directorios no deben borrarse al arrancar. Es, por tanto, más persistente que /tmp.
En Windows no hay esta distinción tan marcada: existen la carpeta temporal del usuario y la del sistema, pero la diferencia es de ámbito, no de si sobreviven al reinicio.
/opt, /srv, /media y /mnt: los cuatro que más se confunden
Estos cuatro se parecen entre sí lo justo para mezclarlos, y el estándar los separa con claridad:
/optestá reservado para instalar paquetes de software añadido. Cada paquete debe colocar sus archivos estáticos en su propio árbol,/opt/<paquete>o/opt/<proveedor>. Es lo más parecido que hay a instalar un programa en su propia carpeta dentro de Archivos de programa./srvcontiene los datos que este sistema sirve a otros. El estándar explica su razón: que se sepa dónde están los datos de un servicio concreto, y que los servicios que necesitan un único árbol con datos de solo lectura, datos escribibles y guiones puedan colocarlo en un sitio razonable. Si los datos solo le interesan a un usuario, van a su directorio personal./mediacontiene los subdirectorios que se usan como puntos de montaje de medios extraíbles. El propio estándar cuenta por qué se creó: históricamente cada sistema montaba los CD y los disquetes donde le parecía, y colgar todos esos puntos de montaje de la raíz la habría llenado de directorios sueltos./mntexiste para que el administrador monte temporalmente un sistema de archivos cuando lo necesite. Y trae una condición que se salta mucha gente: los programas de instalación no deben usarlo, sino un directorio temporal que no esté en uso por el sistema.
Este último es el que ya conoces si usas WSL: el disco de Windows aparece en /mnt/c precisamente porque está montado ahí.
/proc y /sys: archivos que no están en ningún disco
Hay dos directorios que desconciertan a cualquiera que venga de Windows, porque lo que hay dentro no existe en el disco. Según el manual hier, /proc es el punto de montaje del sistema de archivos proc, que ofrece información sobre los procesos en ejecución y sobre el núcleo, y /sys lo es del sistema de archivos sysfs, que da información del núcleo como /proc pero mejor estructurada.
Son sistemas de archivos virtuales: el núcleo los genera al vuelo y se leen como si fueran archivos de texto. Es la forma que tiene Linux de dejar que consultes el estado de la máquina con las mismas herramientas con las que lees cualquier otro archivo. En Windows, lo más cercano en intención serían las consultas a WMI o los contadores de rendimiento, pero no se parecen en la forma: allí no son archivos.
Cuatro diferencias que sorprenden viniendo de Windows
Más allá del mapa de directorios, hay cuatro detalles que conviene tener claros desde el principio:
- Las mayúsculas cuentan. Microsoft lo recuerda en su documentación de WSL: Windows no distingue mayúsculas de minúsculas en los nombres de archivo y Linux sí.
FOO.txtyfoo.txtson el mismo archivo en uno y dos archivos distintos en el otro. - La barra va al revés. Linux separa directorios con
/y Windows con\, y esa barra inclinada es además la propia raíz del árbol. - La extensión no manda. En Linux un archivo puede llamarse sin extensión y ser perfectamente ejecutable; lo que decide si se puede ejecutar son los permisos, no las tres letras finales.
- No hay Archivos de programa único. Un mismo programa reparte sus piezas: el ejecutable en
/usr/bin, las bibliotecas en/usr/lib, los datos en/usr/share, la configuración en/etcy los registros en/var/log. Es lo que más choca al principio y lo que más se agradece después, porque para hacer una copia de la configuración basta con copiar/etc.
Ese último punto es también el motivo por el que el árbol tiene esta forma. Cuando entiendes que lo estático y lo variable, y lo compartible y lo propio de la máquina, están deliberadamente separados, los nombres cortos dejan de parecer arbitrarios: /usr se puede montar en solo lectura o compartir por red, /var se puede vaciar, /etc se puede copiar entero y /home se puede llevar a otro disco sin tocar nada más.
Si quieres trastear con todo esto sin instalar nada, tienes nuestra guía para probar Linux desde un USB live; y si prefieres tenerlo instalado de verdad junto a Windows, la del arranque dual de Windows y Linux explica los requisitos y los riesgos. Y si lo que te llama es montar un servidor casero, un NAS es el sitio donde este árbol se ve trabajando de verdad, sirviendo archivos a toda la casa.
Te puede interesar
Tech Planet participa en el programa de afiliados de Amazon. Si compras a través de estos enlaces, recibimos una pequeña comisión sin coste extra para ti, lo que nos ayuda a seguir creando contenido como este.
| Imagen | Producto | Características | Comprar |
|---|---|---|---|
![]() |
UGREEN NASync DXP2800 | Intel N100 · 8 GB DDR5 · dos bahías de 3,5″ y dos ranuras M.2 NVMe | Ver precio en Amazon |
![]() |
Synology DiskStation DS224+, sin discos | Dos bahías, sin discos · copia de seguridad y restauración · acceso y sincronización multiplataforma | Ver precio en Amazon |
![]() |
WD Red Plus 4 TB | 4 TB · clase 5.400 rpm · SATA 6 Gb/s · CMR y 128 MB de caché · tecnología NASware | Ver precio en Amazon |
![]() |
Seagate IronWolf 4 TB | 4 TB · SATA 6 Gb/s · para NAS de hasta ocho bahías (ST4000VNZ06) | Ver precio en Amazon |










[…] Dos costumbres que ahorran disgustos desde el primer minuto. La primera es el tabulador: al escribir las primeras letras de un archivo o de un directorio y pulsarlo, el intérprete completa el nombre; si no completa nada, es que lo que has escrito no existe ahí, y eso ya es información. La segunda es que las mayúsculas cuentan. Documentos y documentos son dos directorios distintos, algo que sorprende a quien viene de Windows y que está detrás de la mitad de los «no funciona» de los primeros días. Si vienes de ahí, el reparto de directorios tiene su propia lógica y la contamos aparte en la estructura del sistema de archivos de Linux explicada desde Windows. […]