Estructura de directorios jerárquica en Linux (FHS)
Como seguramente ya sabes, la estructura de directorios de Linux ( y de muchos de los sistemas derivados de Unix), se basa en el estándar jerárquico de los sistemas de ficheros (FHS). Es un árbol de directorios organizado de forma jerárquica partiendo de la raíz de Linux.
En la Wikipedia podemos encontrar esta definición del estándar FHS: “es una norma que define los directorios principales y sus contenidos en el sistema operativo GNU/Linux y otros sistemas de la familia Unix. Se diseñó… basándose en la tradicional organización de directorios de los sistemas Unix.”
Recuerda que si quieres aprender a usar Linux desde cero, puedes apuntarte a mi curso gratuito. Si quieres ir directamente al grano y aprender a usar los comandos más utilizados en Linux, puedes mirar mi súper guía de comandos Linux explicados y con ejemplos.
Actualmente está mantenido por The Linux Foundation, que es es un consorcio tecnológico sin ánimo de lucro establecido para adoptar el crecimiento de Linux. Su objetivo principal es la estandarización de los componentes físicos y lógicos para el sistema operativo GNU/Linux.
Índice de contenidos
El árbol de directorios de Linux
En Linux todo parte de la raíz o root (/) que es por decirlo así el directorio principal. Todos los demás ficheros y directorios en Linux van a estar jerárquicamente por debajo de la barra de root.
Además, por si no lo sabes, en Linux todo es considerado como un fichero; los directorios son ficheros, las particiones de los discos son ficheros, los periféricos son ficheros, los ficheros son ficheros. Por tanto podemos acceder a todos estos datos y dispositivos por su fichero de referencia.
Qué hay en el directorio boot de Linux
El directorio boot, es uno de los más importantes de cualquier distribución de Linux. En este directorio se alojan todos los archivos ejecutables y los ficheros de configuración necesarios para que el sistema arranque correctamente.
Gracias a los ficheros que se encuentran en el directorio BOOT, el sistema sabe como iniciar el equipo antes de que el kernel de Linux tome el control y empiece a lanzar los módulos del sistema.
Uno de esos ficheros o conjunto de ficheros importantes que se guardan en este directorio es el gestor de arranque. Este sistema es el que permite al usuario elegir el código que se debe ejecutar a continuación en el proceso de arranque de un sistema operativo. Por ejemplo, en el gestor de arranque GRUB podríamos elegir continuar con un inicio de Ubuntu, de Debian, o de Windows.
El directorio etc de Linux
El directorio “etc” es uno de los más importantes para cualquier sistema Linux. Este directorio es algo así como el lugar de almacenamiento de las configuraciones tanto de las aplicaciones instaladas, como de los componentes del sistema operativo.
Así por ejemplo, en el directorio “ETC” podemos encontrar las configuraciones de los usuarios, de las redes, de las particiones de los discos y sus puntos de montaje, etc…
Los directorios bin y sbin: Los binarios de Linux
La palabra “bin” viene de acortar la palabra “binaries” del inglés o en castellano podríamos llamarlo binarios. ¿Qué son los binarios? Son los ficheros que con los permisos adecuados pueden ser ejecutados por los usuarios que están usando el sistema Linux. Es decir, son programas compilados o scripts que están listos para ser llamados en cualquier momento.
El directorio “sbin” al igual que “bin”, también guarda ficheros binarios, pero con una peculiaridad. Estos binarios solo pueden ser ejecutados por el usuario administrador o “superusuario”.
El directorio lib
En este directorio se pueden encontrar las bibliotecas que son necesarias para que se puedan ejecutar correctamente todos los binarios de los directorios que hemos hablando anteriormente. Pero ¿qué es una biblioteca o librería en Linux? Buena pregunta. Las bibliotecas en Linux son ficheros que contienen scripts o funciones auxiliares que son llamadas por los binarios y que son necesarias para que funcionen correctamente.
Que se guarda en el directorio home de Linux
En este directorio es donde se almacenan los ficheros “personales” de los usuarios que utilizan el sistema, es decir, documentos, vídeos, fotos o el escritorio.
También se almacenan aquí las configuraciones propias que el usuario haya cambiado en algunas aplicaciones.
Dentro de este directorio podremos encontrar cada uno de los nombres de los usuarios que utilicen el sistema, (home/jaime o /home/aprendolinux) excepto los datos del superusuario.
El directorio root
Es el directorio “home” del usuario root, es decir, se almacenan datos y configuraciones “personales” del superusuario del sistema Linux.
Que encontramos en el directorio var en Linux
En este directorio se almacenan también muchos archivos que son cambiantes durante la ejecución normal del sistema, como pueden ser “/var/lib” para las librerias, “var/lock” para archivos de bloqueo.
En este directorio además podemos encontrar un apartado de los más importantes para un administrador de sistemas y es el registro de logs. El en directorio “/var/log” se almacenan todos los registros y eventos del sistema, y es donde se debe acceder en caso de que algún proceso o algún programa no esté funcionando correctamente. El 99% de las veces que tengas un error en Linux aquí encontrarás algún mensaje que te indique el error que se está produciendo y porqué.
Directorios dinámicos: dev, proc y sys
Como ya te he comentado anteriormente, en Linux todo se considera un fichero. Incluso los dispositivos o hardware del sistema, como por ejemplo los discos de almacenamiento y sus particiones. Eso es lo que podemos encontrar en el directorio “dev”, que viene de la palabra “devices”.
El directorio “proc” contiene información de los procesos y aplicaciones que se están ejecutando en un momento determinado en el sistema. Pero realmente no se guarda nada como tal, ya que lo que almacena son archivos virtuales, por lo que el contenido de este directorio es nulo
En el directorio “sys” se pueden encontrar también archivos virtuales que proveen información del kernel relacionada con eventos del sistema operativo. A diferencia de proc, en sys esta información está mejor organizada y la puedes encontrar de forma jerárquica.
El directorio usr
En este directorio (user system resources) se alojan los programas que no son propios del sistema y que han sido instalados por los usuarios… aunque esto es la teoría y ya no suele ser así. En muchas distribuciones el directorio /bin y el directorio /sbin son enlaces simbólicos a los directorios /usr/bin y /usr/sbin respectivamente.
Resto de directorios de Linux
Existen varios directorios más que se recogen en el FHS pero que realmente no son tan importantes. Podríamos destacar de forma rápida que el directorio “tmp” sirve para almacenamiento de ficheros temporales, sabiendo que se eliminarán en el próximo reinicio del sistema. Los directorios “media” y “mnt” son directorios auxiliares que te sirven para el montaje de unidades externas o particiones de un disco.
En “srv” sirve para almacenar archivos y directorios relativos a servidores que puedas tener instalados dentro de tu sistema, como por ejemplo un servidor web “www”, o un servidor FTP. El directorio “opt” es también un directorio auxiliar por decirlo así, que se usa para instalar paquetes en la máquina pero que queden fuera del sistema.
2 comentarios
Gracias por brindar esta informaciòn para aprender
Un placer Vicente! Me has dado una alegría con tu comentario. Un abrazo!