Está en la página 1de 13

Árbol de Directorios de Linux

En el sistema de ficheros de UNIX (y similares, como GNU/Linux), existen varias sub-jerarquías de


directorios que poseen múltiples y diferentes funciones de almacenamiento y organización en todo el
sistema.

donde la raíz del árbol (/) es la base de toda la estructura de directorios y las ramas (directorios y
archivos) surgen o cuelgan de dicha base.
Tabla de contenidos
 El Estándar de Jerarquía de Directorios o FHS
 Estructura del árbol de directorios
◦ Directorio raíz o /
◦ Bin, Sbin
◦ Boot
◦ Dev
◦ Etc
◦ Home
◦ Lib
◦ Media
◦ Opt
◦ Proc
◦ Root
◦ Srv
◦ Sys
◦ Tmp
◦ Usr
◦ Var
El Estándar de Jerarquía de Directorios o FHS
La estructura de los directorios de Linux, así como su contenido y funciones, viene definida en el
denominado Filesystem Hierarchy Standard (FHS), el cual nació en 1994 y es actualmente mantenida
por la Linux Foundation.
Como puedes ver en la siguiente imagen, todo el árbol parte de una raíz común denominada root y que
se simboliza por una barra inclinada. Aún así, esto no significa que varios de ellos no puedan estar
en particiones separadas del resto. De hecho, en muchas distros GNU/Linux es una práctica muy
común el hecho ubicar ciertos directorios en particiones separadas del resto.
FHS clasifica los directorios de la siguiente manera:
 Estáticos: Contiene archivos que no cambian sin la intervención del administrador (root), sin
embargo, pueden ser leídos por cualquier otro usuario. (/bin, /sbin, /opt, /boot, /usr/bin…), los
cuales generalmente contienen: binarios, bibliotecas, documentación, etc.
 Dinámicos: Contiene archivos que son cambiantes, y pueden leerse y escribirse (algunos sólo
por su respectivo usuario y el root). Contienen configuraciones, documentos, copias de
seguridad, etc. (/var/mail, /var/spool, /var/run, /var/lock, /home…)
 Compartidos: Contiene archivos que se pueden encontrar en un ordenador y utilizarse en otro,
o incluso compartirse entre usuarios.
 Restringidos: Contiene ficheros que no se pueden compartir, solo son modificables por el
administrador. (/etc, /boot, /var/run, /var/lock…)

root: es el nombre convencional de la cuenta de usuario que posee todos los derechos en todos los
modos (mono o multi-usuario). root es también llamado super-usuario. Normalmente esta es la cuenta
de administrador. El usuario root puede hacer muchas cosas que un usuario común no puede, tales
como cambiar el dueño o permisos de archivos y enlazar a puertos de numeración pequeña. No es
recomendable utilizar el usuario root para una simple sesión de uso habitual, ya que pone en riesgo el
sistema al garantizar acceso privilegiado a cada programa en ejecución. Es preferible utilizar una
cuenta de usuario normal y utilizar el comando su para acceder a los privilegios de ROOT de ser
necesario.
Estructura del árbol de directorios en GNU/Linux
Ahora que ya conoces el estándar de jerarquía de directorios utilizado en GNU/Linux, veamos un poco
más en detalle cada unos de los directorios de forma concreta, empezando por el directorio raíz, que es
desde donde nace el árbol.
Algunas distribuciones de Linux hacen modificaciones a la estructura del árbol de directorios, para
adaptarlo a sus propias necesidades. De todas formas el estándar es el siguiente:
Descripción de la estructura del árbol de directorios

Toda la estructura de directorios en los sistemas basados en UNIX parte de un directorio raíz también
llamado directorio root y que se simboliza por una barra inclinada /. De este directorio, es desde donde
nacen todo el resto de directorios, independientemente que estén almacenados físicamente en discos o
unidades separadas (discos extraíbles, CD’s, DVD’s, pendrives, etc).
Este directorio es el nivel más alto dentro de la jerarquía de directorios, por tanto es el contenedor de
todo el sistema .Cualquier dirección de archivo o carpeta en Linux empieza por el directorio raíz o /,
seguido de todos los directorios y subdirectorios, separados cada uno de ellos por /.
En una analogía con los sistemas operativos DOS y Windows, este directorio seria el directorio raíz C:\.

El directorio /bin es un directorio estático donde se almacenan todos los binarios necesarios para
garantizar las funciones básicas a nivel de usuario; ya que los binarios necesarios para tareas
administrativas gestionadas por el usuario root o súper-usuario del sistema se encuentran en el
directorio /sbin.
Aquí también se incluyen los binarios que permiten la ejecución de varias utilidades estándar de la
terminal de Linux, concretamente cat, cd, cp, echo, grep, gzip, kill, ls, mv, rm, ping, su, ps, tar y vi.
Los binarios son los ejecutables de Linux (similar a los archivos .exe de Windows).

Es un directorio estático que incluye todos los ejecutables y archivos que son necesarios en el proceso
de arranque del sistema, y que deberán ser utilizados antes que el kernel empiece a dar las órdenes de
ejecución de los diferentes módulos del sistema. Es también donde se encuentra el gestor de arranque
GRUB.
Cargador de arranque (boot loader): es un programa sencillo (que no tiene la totalidad de las
funcionalidades de un sistema operativo) diseñado exclusivamente para preparar todo lo que necesita
el sistema operativo para funcionar.
Núcleo o kernel: es un software que constituye más importante del sistema operativo. Es el principal
responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en
forma básica, es el encargado de gestionar recursos, a través de servicios de llamada al sistema.
En algunas distribuciones, es común que este directorio se almacene en una propia partición separada
del resto. Esto suele darse sobretodo en el caso que utilicen LVM (Logical Volume Manager) por
defecto, ya que tradicionalmente el gestor de arranque GRUB (en versiones anteriores a la 2) no podía
arrancar desde LVM, por lo que se requería que estuviera en una partición separada.
De hecho, si en una instalación normal de Ubuntu o Debian optas por utilizar LVM, verás que el
instalador ya te genera un esquema de particiones con el directorio boot en una partición aparte.
En estos casos, en el momento de instalar el sistema es importante prever bien el espacio que le vayas
a dar a la partición, ya que a la larga, con la acumulación de diferentes actualizaciones del Kernel, es
común que se quede sin espacio. Si esto sucede, puedes tener problemas a la hora de instalar futuras
actualizaciones del núcleo, y debas hacer limpieza de versiones antiguas del kernel.

Este directorio incluye todos los dispositivos -en forma de archivos- conectados al sistema (incluso
los que no se les ha asignado (montado) un directorio), es decir, cualquier disco duro, partición,
memoria USB, CD, micrófonos, impresora y dispositivos especiales (por ejemplo, /dev/null).
/dev/null o null device (periférico nulo): es un archivo especial que descarta toda la información que
se escribe o redirecciona en él. A su vez, no proporciona ningún dato a cualquier proceso que intente
leer de él, devolviendo simplemente un EOF o fin de fichero. La forma más comúnmente utilizada es
mediante la redirección, ya que /dev/null es un archivo especial y no un directorio; por lo tanto, no se
pueden mover (mv) ni copiar (cp) ficheros en su interior.
Linux trata los dispositivos como si fueran un fichero más para facilitar el flujo de la información;
siendo esto así, verás que la ruta en la que se encuentra cualquier volumen (partición o dispositivo
externo) conectado al sistema siempre empieza por /dev. A diferencia del directorio /media que
contiene solo los puntos de montaje, el directorio /dev contiene la información real de estos volúmenes.
Para ver esto en la práctica, si abres una ventana de terminal y ejecutas el comando sudo fdisk -l, verás
la estructura de particiones de tu sistema. En una instalación típica de cualquier distro GNU/Linux
suele ser la siguiente:
/dev/sda1 - Partición principal
/dev/sda2 - Partición extendida
/dev/sda5 - Partición Swap

La partición sda1 suele ser la partición principal, Obviamente si has editado manualmente el esquema
de particiones, en tu caso será diferente, esto es solo un ejemplo típico para ayudar a explicar la función
del directorio /dev.
Eso en cuanto a particiones. Si se trata de un dispositivo externo, el volumen estará igualmente dentro
de /dev, pero en este caso varía el nombre que el sistema le asigna a dicho volumen. Generalmente la
estructura suele ser la siguiente (si ejecutas nuevamente el comando sudo fdisk -l con un dispositivo
externo conectado lo podrás comprobar tu mismo).
/dev/sdb1
/dev/sdb2
/dev/sdb3
...
Es un directorio que debería contener únicamente ficheros de configuración, y no debería contener
binarios.
Aquí se guardan los archivos de configuración de componentes del sistema operativo, así como los
ficheros de configuración de las aplicaciones instaladas; ademas ciertos scripts que se ejecutan en el
inicio del sistema. Los valores de estos ficheros de configuración pueden ser complementados o
sustituidos por los ficheros de configuración de usuario que cada usuario tiene en su respectivo home
(carpeta personal).
/etc/opt/ Archivos de configuración para los programas alojados dentro del directorio /opt.
/etc/X11/ Archivos de configuración para el X Window System, versión 11.
X: es el encargado de mostrar la información gráfica de forma totalmente independiente del sistema
operativo.
/etc/sgml/ Archivos de configuración para SGML.
El lenguaje SGML: Consiste en un sistema para la organización y etiquetado de documentos. Sirve
para especificar las reglas de etiquetado de documentos y no impone en sí ningún conjunto de etiquetas
en especial.
 /etc/xml/ Archivos de configuración para XML.
XML: Es un metalenguaje extensible de etiquetas desarrollado por el World Wide Web Consortium
(W3C). Es una simplificación y adaptación del SGML. Resulta más sencillo de implementar pues evita
algunas características avanzadas de SGML.

Es el directorio de los usuarios estándar, y por lo tanto, el destinado a almacenar todos los archivos
del usuario, como documentos, fotos, vídeos, música, plantillas, etc. También incluye archivos
temporales de aplicaciones ejecutadas, que sirven para guardar las configuraciones de programas. El
super-usuario (administrador, root) cuenta con un directorio aparte.
Dentro /home hay los directorios personales de todos los usuarios, nombrados según el nombre de
usuario utilizado. Así por ejemplo, si en un sistema pongamos que hay 2 usuarios denominados User1 y
User2, la estructura será así:
/home/User1
/home/User2

En muchas distribuciones es una práctica recomendada el hecho de ubicar el directorio /home es una
partición separada del resto, por tal de facilitar que en caso de reinstalar el sistema operativo, puedas
mantener intacta la partición de la /home, y de este modo mantener todos los archivos personales.
Incluye las bibliotecas esenciales (mal conocidas como librerías) que son necesarios para que se
puedan ejecutar correctamente todos los binarios que se encuentran en los directorios /bin y /sbin, así
como los módulos del propio kernel y controladores (drivers).
En los sistemas operativos de 64 bits, además de /lib existe otro directorio denominado /lib64, referida
a las bibliotecas para aplicaciones de 64 bits.

Contiene los puntos de montaje de los volúmenes lógicos que se montan temporalmente, como medios
extraíbles de almacenamiento, tales como lectores de CD, memorias USB, e incluso sirve para montar
otras particiones del mismo disco duro, como por ejemplo, alguna partición que sea utilizada por otro
sistema operativo.
En la mayoría de distribuciones GNU/Linux, desde hace ya algún tiempo, cada vez que se monta una
unidad externa, partición, etc., esta se monta dentro del directorio /media y a su vez dentro de un
directorio especifico dependiendo del usuario del sistema que monta el volumen.
De este modo, si en un sistema hay varios usuarios, pongamos User1 y User2, los puntos de montaje de
los volúmenes que montan cada uno de ellos se mostraran en directorios separados tal como así:
/media/User1
/media/User2

Antiguamente se solía utilizar el directorio mnt para estas funciones, pero actualmente, la mayoría de
distribuciones hacen uso de media.

Este directorio se utiliza normalmente para montajes temporales de unidades. Es una directorio
semejante a /media, pero es usado mayoritariamente por los usuarios. Sirve para montar discos duros y
particiones de forma temporal en el sistema; no necesita contraseña, a diferencia del directorio /media.

Contiene paquetes de programas opcionales de aplicaciones estáticas, es decir, que pueden ser
compartidas entre los usuarios. Dichas aplicaciones no guardan sus configuraciones en este directorio;
de esta manera, cada usuario puede tener una configuración diferente de una misma aplicación, de
manera que se comparte la aplicación pero no las configuraciones de los usuarios, las cuales se guardan
en su respectivo directorio en /home.
Haciendo una analogía con Windows, vendría a ser algo como el directorio de Archivos de Programas.
El directorio /sbin (binarios de sistema) contiene los binarios relativos tareas propias del sistema
operativo, y que solamente pueden ser gestionadas por el usuario root; tales como el arranque, tareas de
restauración, reparación, etc.

Sirve para almacenar archivos y directorios relativos a ciertos servicios que puedas tener instalados
dentro de tu sistema, ya sea un servidor web, FTP, CVS, etc. Así, por ejemplo, en el caso de tener
instalado un servidor web, sería buena idea tener el directorio web público dentro de /srv, tal como
/srv/www

Es un directorio donde se almacenan ficheros temporales de todo tipo; ya sea de elementos del sistema,
o también de diferentes aplicaciones a nivel de usuario como por ejemplo el navegador de internet.
Es un directorio dispuesto para almacenar contenido de corta duracion, de hecho en la gran mayoría de
los casos se suele vaciar de forma automática en cada reinicio del sistema. Aun así, no debes borrar su
contenido de forma manual, puesto que puede contener archivos necesarios para ciertos programas o
procesos que estén ejecutándose.
Las aplicaciones programadas para almacenar archivos en este directorio deben asumir que solo serán
recuperables en la sesión actual. En este sentido, hay otro subdirectorio, /var/tmp, dispuesto
igualmente para el almacenamiento de archivos temporales, pero cuyo contenido no se borra de forma
automática tras el reinicio del sistema.

El directorio /usr viene de User System Resources el cual es una jerarquía secundaria de los datos de
usuario y sirve para almacenar todos los archivos de solo lectura y relativos a las utilidades de usuario,
incluyendo todo el software instalado a través de los gestores de paquetes de cada distribución; es decir,
contiene la mayoría de las utilidades y aplicaciones mult-iusuario, accesibles para todos los usuarios.
En otras palabras, contiene los archivos compartidos, pero que no obstante son de sólo lectura. Este
directorio puede incluso ser compartido con otras computadoras de red local.
Antiguamente /usr también contenía la carpeta particular de usuario, junto con todos sus documentos,
vídeos, fotos, etc., pero más adelante se creó el directorio /home para este propósito, dejando /usr
reservado para los ficheros relativos a programas.
Contiene los siguientes subdirectorios:
 /usr/bin: Conjunto de ejecutables (no-administrativos para todos los usuarios) de la mayoría de
aplicaciones de escritorio entre otras (por ejemplo firefox). Son de solo lectura, pero pueden
tener su propia configuración para cada usuario en /home. Algunos ejecutables comparten las
mismas librerías que comparten las demás aplicaciones, de manera que generalmente no hay
dos librerías idénticas en un mismo sistema, lo cual ahorra memoria y proporciona más orden.
 /usr/include: Los ficheros cabeceras para C y C++.
 /usr/lib: Las bibliotecas para C y C++.
 /usr/local: Es otro nivel dentro que ofrece una jerarquía parecida al propio directorio /usr.
 /usr/sbin: Sistema de binarios no esenciales; por ejemplo, demonios para varios servicios de
red. Es decir, contiene programas que no proporcionan una interfaz de usuario y generalmente
se ejecutan al inicio del sistema o en ciertas circunstancias. No son directamente manejados por
el usuario mientras se ejecutan, aunque sí pueden ser configurados antes de que sean ejecutados.
 /usr/share: Archivos compartidos como ficheros de configuración, imágenes, iconos, themes,
etc.
 /usr/src: Códigos fuente de algunas aplicaciones y del kernel Linux. Al igual que /mnt, esta
carpeta es manejada por los usuarios directamente para que éstos puedan guardan en él el
código fuente de programas y bibliotecas y así puedan accesarlo fácilmente, sin problemas con
permisos. Permite que el código fuente tenga un espacio propio, accesible pero apartado de
todos los usuarios.
 /usr/X11R6/ Sistema X Window System, Versión 11, Release 6. Este directorio se relaciona con
el entorno gráfico.

Contiene varios archivos con información del sistema, como logs, spool, bases de datos, archivos de e-
mail temporales, información almacenada en la caché, información relativa a los paquetes de
aplicaciones almacenados en /opt, etc.
En cierto modo se podría decir que actúa a modo de registro del sistema; por tanto ayuda a encontrar
los orígenes de un problema.
 /var/cache: Memoria caché de las aplicaciones, aunque también se utiliza el directorio /tmp
para lo mismo.
 /var/crash/ Se depositan datos e información, referentes a las caídas o errores del sistema
operativo. Es más específico que /var en general.
 /var/games/ Datos variables de los juegos del sistema. Este directorio no es imprescindible y
muchas veces es omitido por las propias aplicaciones de juegos, pues utilizan la carpeta de
usuario en /home para guardar datos variables como configuraciones, por poner un ejemplo. De
todas maneras, los juegos de gnome utilizan este directorio.
 /var/lib: Información sobre el estado actual de las aplicaciones, modificable por las propias
aplicaciones.
 /var/lock: Ficheros que se encargan de que un recurso sólo sea usado por una aplicación
determinada que ha pedido su exclusividad, hasta que ésta lo libere.
 /var/log: Es uno de los subdirectorios más importantes ya que aquí se guardan todo tipo de logs
del sistema.
 /var/mail: Buzón correos o mensajes de los usuarios. Si no utiliza cifrado, generalmente se
utiliza entonces la carpeta personal para la misma labor por parte de programas que manejen
correos electrónicos.
 /var/opt: Datos usados por los paquetes almacenados en /opt.
 /var/run: Información reciente. Trata acerca del funcionamiento del sistema desde el último
arranque. Por ejemplo, los usuarios actualmente registrados o logueados, que han ingresado; y
los demonios que están en ejecución.
 /var/spool: Tareas a la espera de ser procesados (por ejemplo, colas de impresión y correo no
leído).
 /var/tmp: Archivos temporales que, a diferencia de /tmp, no se borran entre sesiones o reinicios
del sistema, pero que de todas maneras siendo prescindibles.

Vendría a ser como el directorio /home del usuario root o superusuario del sistema. A diferencia de
los otros usuarios, que se encuentran todos dentro de /home en sus respectivas subcarpetas, el
directorio del usuario root está en su propia carpeta colgando directamente de la raíz del sistema.

Este directorio contiene principalmente archivos de texto que documentan el estado de los procesos y
aplicaciones que se están ejecutando en un momento determinado en el sistema, pero realmente no
guarda nada como tal, ya que lo que almacena son archivos virtuales, por lo que el contenido de este
directorio es nulo. Básicamente son listas de eventos del sistema operativo que se generan en el
momento de acceder a ellos, y que no existen dentro del directorio como tal.

/sys
Contiene parámetros de configuración del sistema que se está ejecutando, al igual que /proc que
contine archivos virtuales que proveen información del kernel relativa a eventos del sistema operativo.
Se almacenan datos referidos al kernel, bus, dispositivos, firmware, fs (filesystem) y otros
Es en cierto modo una evolución de /proc y a diferencia de este último, los archivos se distribuyen de
forma jerárquica.
/lost+found
En los sistemas Unix, cada una de las particiones/sistema de ficheros cuenta con un directorio llamado
/lost+found en el cual se almacenan ficheros y directorios (o restos de ellos) recuperados tras una
revisión del sistema de ficheros a través de la herramienta fsck, todo ello provocado habitualmente por
cuelgues del sistema, apagados forzados del equipo, cortes de corriente, etc.
Todos aquellos ficheros y directorios recuperados tras un fsck se almacenan con la siguiente estructura
en el directorio /lost+found, el nombre de cada fichero es el número de inodo:
drwxr-xr-x 3 root root 4096 2010-03-12 09:38 #123805
-rw-r–r– 2 root root 18505 2010-03-02 16:03 #137865

Estos ficheros pueden estar corruptos o incompletos, pero podemos tener suerte y encontrar aquello que
creíamos perdido tras el fsck. Tendremos que revisar uno a uno los ficheros y directorios debido a que
el nombre del fichero se ha perdido. Puede ser una ardua tarea revisar todos los ficheros y directorios e
intentar volverlos a poner en su sitio, en algunos casos puede llegar a ser prácticamente imposible.
fsck (file system check o bien file system consistency check): es una utilidad cuya función es
solventar inconsistencias del sistema de archivos, ya que corrige los posibles errores en el sistema. fsck
se ejecuta automáticamente al inicio del sistema ante alguna anomalía, pero también puede ser utilizada
manualmente por el administrador del sistema para forzar una verificación.

También podría gustarte

  • WMIC
    WMIC
    Documento8 páginas
    WMIC
    Jorge Montee
    Aún no hay calificaciones
  • Comando YOUTUBE-DL
    Comando YOUTUBE-DL
    Documento31 páginas
    Comando YOUTUBE-DL
    Jorge Montee
    Aún no hay calificaciones
  • Comando WGET
    Comando WGET
    Documento12 páginas
    Comando WGET
    Jorge Montee
    Aún no hay calificaciones
  • Comando SOURCE
    Comando SOURCE
    Documento2 páginas
    Comando SOURCE
    Jorge Montee
    Aún no hay calificaciones
  • Comando SUDO
    Comando SUDO
    Documento3 páginas
    Comando SUDO
    Jorge Montee
    Aún no hay calificaciones
  • Comando SH
    Comando SH
    Documento2 páginas
    Comando SH
    Jorge Montee
    Aún no hay calificaciones
  • Comando MKFS
    Comando MKFS
    Documento3 páginas
    Comando MKFS
    Jorge Montee
    Aún no hay calificaciones
  • Latencia Ping
    Latencia Ping
    Documento4 páginas
    Latencia Ping
    Jorge Montee
    Aún no hay calificaciones
  • Comando MOUNT
    Comando MOUNT
    Documento10 páginas
    Comando MOUNT
    Jorge Montee
    Aún no hay calificaciones
  • Comando - FDISK (MKFS)
    Comando - FDISK (MKFS)
    Documento3 páginas
    Comando - FDISK (MKFS)
    Jorge Montee
    Aún no hay calificaciones
  • Comando LSBLK
    Comando LSBLK
    Documento1 página
    Comando LSBLK
    Jorge Montee
    Aún no hay calificaciones
  • Comando DD
    Comando DD
    Documento4 páginas
    Comando DD
    Jorge Montee
    Aún no hay calificaciones
  • Virtualbox (Activar Copiar y Pegar)
    Virtualbox (Activar Copiar y Pegar)
    Documento5 páginas
    Virtualbox (Activar Copiar y Pegar)
    Jorge Montee
    Aún no hay calificaciones
  • Comando APT-KEY
    Comando APT-KEY
    Documento2 páginas
    Comando APT-KEY
    Jorge Montee
    Aún no hay calificaciones
  • Ram DDR2
    Ram DDR2
    Documento3 páginas
    Ram DDR2
    Jorge Montee
    Aún no hay calificaciones
  • Comando ALIEN
    Comando ALIEN
    Documento2 páginas
    Comando ALIEN
    Jorge Montee
    Aún no hay calificaciones
  • Indice
    Indice
    Documento19 páginas
    Indice
    Jorge Montee
    Aún no hay calificaciones
  • Ide Sata
    Ide Sata
    Documento17 páginas
    Ide Sata
    Jorge Montee
    Aún no hay calificaciones
  • HDD SSD
    HDD SSD
    Documento7 páginas
    HDD SSD
    Jorge Montee
    Aún no hay calificaciones