La estructura de directorios de Linux, explicada

imagen

Si viene de Windows, la estructura del sistema de archivos de Linux puede parecer particularmente extraña. La unidad C: \ y las letras de la unidad se han ido, reemplazadas por una / y directorios que suenan crípticos, la mayoría de los cuales tienen nombres de tres letras.

El Estándar de jerarquía del sistema de archivos (FHS) define la estructura de los sistemas de archivos en Linux y otros sistemas operativos similares a UNIX. Sin embargo, los sistemas de archivos de Linux también contienen algunos directorios que aún no están definidos por el estándar.

/ – El directorio raíz

Todo en su sistema Linux se encuentra en el directorio /, conocido como directorio raíz. Puede pensar que el directorio / es similar al directorio C: \ en Windows, pero esto no es estrictamente cierto, ya que Linux no tiene letras de unidad. Mientras que otra partición estaría ubicada en D: \ en Windows, esta otra partición aparecería en otra carpeta en / en Linux.

imagen

/ bin – Binarios de usuario esenciales

El directorio / bin contiene los binarios (programas) de usuario esenciales que deben estar presentes cuando el sistema se monta en modo de usuario único. Las aplicaciones como Firefox se almacenan en / usr / bin, mientras que los programas y utilidades importantes del sistema, como el shell bash, se encuentran en / bin. El directorio / usr puede almacenarse en otra partición; colocar estos archivos en el directorio / bin asegura que el sistema tendrá estas importantes utilidades incluso si no hay otros sistemas de archivos montados. El directorio / sbin es similar: contiene binarios de administración del sistema esenciales.

Relacionado:  Systemd cambiará el funcionamiento de su directorio de inicio de Linux

imagen

/ boot – Archivos de arranque estáticos

El directorio / boot contiene los archivos necesarios para arrancar el sistema; por ejemplo, los archivos del cargador de arranque GRUB y los kernels de Linux se almacenan aquí. Sin embargo, los archivos de configuración del cargador de arranque no se encuentran aquí, están en / etc con los otros archivos de configuración.

/ cdrom – Punto de montaje histórico para CD-ROM

El directorio / cdrom no es parte del estándar FHS, pero aún lo encontrará en Ubuntu y otros sistemas operativos. Es una ubicación temporal para los CD-ROM insertados en el sistema. Sin embargo, la ubicación estándar de los medios temporales está dentro del directorio / media.

/ dev – Archivos de dispositivo

Linux expone los dispositivos como archivos y el directorio / dev contiene varios archivos especiales que representan dispositivos. Estos no son archivos reales como los conocemos, pero aparecen como archivos; por ejemplo, / dev / sda representa la primera unidad SATA del sistema. Si desea particionarlo, puede iniciar un editor de particiones y decirle que edite / dev / sda.

Este directorio también contiene pseudodispositivos, que son dispositivos virtuales que en realidad no se corresponden con el hardware. Por ejemplo, / dev / random produce números aleatorios. / dev / null es un dispositivo especial que no produce ninguna salida y descarta automáticamente todas las entradas; cuando canaliza la salida de un comando a / dev / null, la descarta.

imagen

/ etc – Archivos de configuración

El directorio / etc contiene archivos de configuración, que generalmente se pueden editar a mano en un editor de texto. Tenga en cuenta que el directorio / etc / contiene archivos de configuración de todo el sistema; los archivos de configuración específicos del usuario se encuentran en el directorio de inicio de cada usuario.

/ home – Carpetas de inicio

El directorio / home contiene una carpeta de inicio para cada usuario. Por ejemplo, si su nombre de usuario es bob, tiene una carpeta de inicio ubicada en / home / bob. Esta carpeta de inicio contiene los archivos de datos del usuario y los archivos de configuración específicos del usuario. Cada usuario solo tiene acceso de escritura a su propia carpeta de inicio y debe obtener permisos elevados (convertirse en el usuario raíz) para modificar otros archivos en el sistema.

imagen

/ lib – Bibliotecas compartidas esenciales

El directorio / lib contiene las bibliotecas necesarias para los binarios esenciales en las carpetas / bin y / sbin. Las bibliotecas que necesitan los binarios en la carpeta / usr / bin se encuentran en / usr / lib.

Relacionado:  ¿Qué son stdin, stdout y stderr en Linux?

/ lost + found – Archivos recuperados

Cada sistema de archivos de Linux tiene un directorio perdido + encontrado. Si el sistema de archivos falla, se realizará una verificación del sistema de archivos en el próximo arranque. Cualquier archivo dañado que se encuentre se colocará en el directorio de objetos perdidos + encontrados, para que pueda intentar recuperar la mayor cantidad de datos posible.

/ media – Medios extraíbles

El directorio / media contiene subdirectorios donde se montan los dispositivos de medios extraíbles insertados en la computadora. Por ejemplo, cuando inserta un CD en su sistema Linux, se creará automáticamente un directorio dentro del directorio / media. Puede acceder al contenido del CD dentro de este directorio.

/ mnt – Puntos de montaje temporales

Históricamente hablando, el directorio / mnt es donde los administradores del sistema montaban los sistemas de archivos temporales mientras los usaban. Por ejemplo, si está montando una partición de Windows para realizar algunas operaciones de recuperación de archivos, puede montarla en / mnt / windows. Sin embargo, puede montar otros sistemas de archivos en cualquier lugar del sistema.

/ opt – Paquetes opcionales

El directorio / opt contiene subdirectorios para paquetes de software opcionales. Es comúnmente utilizado por software propietario que no obedece a la jerarquía del sistema de archivos estándar; por ejemplo, un programa propietario puede volcar sus archivos en / opt / application cuando lo instala.

/ proc – Kernel y archivos de proceso

El directorio / proc es similar al directorio / dev porque no contiene archivos estándar. Contiene archivos especiales que representan información del sistema y del proceso.

imagen

/ root – Directorio raíz de inicio

El directorio / root es el directorio de inicio del usuario root. En lugar de estar ubicado en / home / root, está ubicado en / root. Es distinto de /, que es el directorio raíz del sistema.

/ run – Archivos de estado de la aplicación

El directorio / run es bastante nuevo y brinda a las aplicaciones un lugar estándar para almacenar archivos transitorios que requieren, como sockets e ID de proceso. Estos archivos no se pueden almacenar en / tmp porque los archivos en / tmp pueden eliminarse.

/ sbin – Binarios de administración del sistema

El directorio / sbin es similar al directorio / bin. Contiene binarios esenciales que generalmente están destinados a ser ejecutados por el usuario root para la administración del sistema.

Relacionado:  Cómo usar el comando traceroute en Linux

imagen

/ selinux – Sistema de archivos virtual SELinux

Si su distribución de Linux usa SELinux para seguridad (Fedora y Red Hat, por ejemplo), el directorio / selinux contiene archivos especiales usados ​​por SELinux. Es similar a / proc. Ubuntu no usa SELinux, por lo que la presencia de esta carpeta en Ubuntu parece ser un error.

/ srv – Datos de servicio

El directorio / srv contiene «datos para los servicios proporcionados por el sistema». Si estuviera utilizando el servidor HTTP Apache para servir un sitio web, probablemente almacenaría los archivos de su sitio web en un directorio dentro del directorio / srv.

/ tmp – Archivos temporales

Las aplicaciones almacenan archivos temporales en el directorio / tmp. Estos archivos generalmente se eliminan cada vez que se reinicia su sistema y pueden ser eliminados en cualquier momento por utilidades como tmpwatch.

/ usr – Binarios de usuario y datos de solo lectura

El directorio / usr contiene aplicaciones y archivos que utilizan los usuarios, a diferencia de las aplicaciones y archivos que utiliza el sistema. Por ejemplo, las aplicaciones no esenciales se encuentran dentro del directorio / usr / bin en lugar del directorio / bin y los binarios de administración del sistema no esenciales se encuentran en el directorio / usr / sbin en lugar del directorio / sbin. Las bibliotecas para cada uno se encuentran dentro del directorio / usr / lib. El directorio / usr también contiene otros directorios; por ejemplo, los archivos independientes de la arquitectura, como los gráficos, se encuentran en / usr / share.

El directorio / usr / local es donde se instalan las aplicaciones compiladas localmente de forma predeterminada, lo que evita que arruinen el resto del sistema.

imagen

/ var – Archivos de datos variables

El directorio / var es la contraparte grabable del directorio / usr, que debe ser de solo lectura durante el funcionamiento normal. Los archivos de registro y todo lo demás que normalmente se escribiría en / usr durante el funcionamiento normal se escriben en el directorio / var. Por ejemplo, encontrará archivos de registro en / var / log.


Para obtener información técnica más detallada sobre la jerarquía del sistema de archivos de Linux, consulte la documentación del Estándar de jerarquía del sistema de archivos .