Si está ligeramente familiarizado con Linux, es posible que haya escuchado los términos root, lib, bin, etc. Estos son varios directorios que encontrará en todas las distribuciones de Linux.
De hecho, la Fundación Linux mantiene unaEstándar de jerarquía del sistema de archivos(FHS). Este FHS define la estructura de directorios y el contenido/propósito de los directorios en las distribuciones de Linux. Gracias a este FHS, encontrarás la misma estructura de directorios en (casi) todas las distribuciones de Linux.
Veamos la estructura de directorios de Linux en detalle.
Estructura de directorios de Linux
Linux se basa en UNIX y, por lo tanto, toma prestada su jerarquía del sistema de archivos de UNIX. Encontrará una estructura de directorios similar en sistemas operativos similares a UNIX, como BSD y macOS. Sin embargo, usaré el término Linux de ahora en adelante en lugar de UNIX.
/ – El directorio raíz
Todo, todos los archivos y directorios, en Linux están ubicados bajo ‘raíz’ representado por ‘/’. Si observa la estructura de directorios, se dará cuenta de que es similar a la raíz de una planta.
Dado que todos los demás directorios o archivos descienden de la raíz, la ruta absoluta de cualquier archivo se recorre a través de la raíz. Para examplesi tiene un archivo en /inicio/usuario/documentos, puede adivinar que la estructura del directorio va desde raíz->inicio->usuario->documentos.
El cruel rm -rf/broma
Es posible que haya encontrado algunos chistes en Internet que mencionan “rm -rf /”. El comando rm se usa para eliminar archivos y directorios en Linux.
Con rm -rf /, le pide a su sistema que elimine de manera forzada y recursiva el contenido del directorio raíz. Dado que el directorio raíz tiene todo debajo, termina eliminando todo y su sistema Linux simplemente desaparece (teóricamente).
La mayoría de las distribuciones de Linux no ejecutarán este comando a menos que proporcione –no-preserve-root. En cualquier caso, no tenga curiosidad por ejecutar este comando. La curiosidad mató al gato, después de todo.
/bin – Binarios
El ‘/ bin’ contiene directamente los archivos ejecutables de muchos comandos básicos de shell como ls, cp, cd, etc. La mayoría de los programas están en formato binario aquí y son accesibles para todos los usuarios del sistema Linux.
/dev: archivos del dispositivo
Este directorio solo contiene archivos especiales, incluidos los relacionados con los dispositivos. Estos son archivos virtuales, no físicamente en el disco.
Algunos ejemplos interesantes de estos archivos son:
- /dev/null: se puede enviar para destruir cualquier archivo o cadena
- /dev/zero: contiene una secuencia infinita de 0
- /dev/random: contiene una secuencia infinita de valores aleatorios
/etc – Archivos de configuración
El directorio /etc contiene los archivos de configuración básicos del sistema, utilizados principalmente por el administrador y los servicios, como el archivo de contraseña y los archivos de red.
Si necesita realizar cambios en la configuración del sistema (por example cambiando el nombre de host), aquí es donde encontrará los archivos respectivos.
/usr: binarios de usuario y datos del programa
en ‘/usr’ van todos los archivos ejecutables, bibliotecas, fuente de la mayoría de los programas del sistema. Por esta razón, la mayoría de los archivos que contiene son de solo lectura (para el usuario normal)
- ‘/usr/bin’ contiene comandos básicos de usuario
- ‘/usr/sbin’ contiene comandos adicionales para el administrador
- ‘/usr/lib’ contiene las bibliotecas del sistema
- ‘/usr/share’ contiene documentación o es común a todas las bibliotecas, por example ‘/usr/share/man’ contiene el texto de la página de manual
/home – Datos personales del usuario
El directorio de inicio contiene directorios personales para los usuarios. El directorio de inicio contiene los datos de usuario y los archivos de configuración específicos del usuario. Como usuario, colocará sus archivos personales, notas, programas, etc. en su directorio de inicio.
Cuando crea un usuario en su sistema Linux, es una práctica general crear un directorio de inicio para el usuario. Suponga que su sistema Linux tiene dos usuarios, Alice y Bob. Tendrán un directorio de inicio propio en las ubicaciones /home/alice y /home/bob.
Tenga en cuenta que Bob no tendrá acceso a /home/alice y viceversa. Eso tiene sentido porque solo el usuario debe tener acceso a su casa. Puede leer sobre los permisos de archivos en Linux para saber más sobre este tema.
/lib – Bibliotecas compartidas
Las bibliotecas son básicamente códigos que pueden ser utilizados por los binarios ejecutables. El directorio /lib contiene las bibliotecas que necesitan los binarios en los directorios /bin y /sbin.
Las bibliotecas que necesitan los binarios en /usr/bin y /usr/sbin se encuentran en el directorio /usr/lib.
/sbin: binarios del sistema
Esto es similar al directorio /bin. La única diferencia es que contiene los binarios que solo pueden ejecutarse por root o un sudo usuario. Puedes pensar en la ‘s’ en ‘sbin’ como super o sudo.
/tmp – Archivos temporales
Como sugiere el nombre, este directorio contiene archivos temporales. Muchas aplicaciones utilizan este directorio para almacenar archivos temporales. Incluso puede usar el directorio para almacenar archivos temporales.
Pero tenga en cuenta que los contenidos de los directorios /tmp se eliminan cuando su sistema se reinicia. Algunos sistemas Linux también eliminan archivos antiguos automáticamente, así que no almacene nada importante aquí.
/var: archivos de datos variables
Var, abreviatura de variable, es donde los programas almacenan información de tiempo de ejecución, como registro del sistema, seguimiento de usuarios, cachés y otros archivos que crean y administran los programas del sistema.
Los archivos almacenados aquí NO se limpian automáticamente y, por lo tanto, proporciona un buen lugar para que los administradores del sistema busquen información sobre el comportamiento de su sistema. Para examplesi desea verificar el historial de inicio de sesión en su sistema Linux, simplemente verifique el contenido del archivo en /var/log/wtmp.
/boot – Archivos de arranque
El directorio ‘/boot’ contiene los archivos del kernel y la imagen de arranque, además de LILO y Grub. A menudo es recomendable que el directorio resida en una partición al principio del disco.
/proc – Archivos de proceso y kernel
El directorio ‘/proc’ contiene información sobre los procesos que se están ejecutando actualmente y los parámetros del kernel. Varias herramientas utilizan el contenido del directorio proc para obtener información del sistema en tiempo de ejecución.
Para example, si desea verificar la información del procesador en Linux, simplemente puede consultar el archivo /proc/cpuinfo. Desea verificar el uso de memoria de su sistema Linux, solo mire el contenido del archivo /proc/meminfo.
/optar: software opcional
Tradicionalmente, el directorio /opt se usa para instalar/almacenar los archivos de aplicaciones de terceros que no están disponibles en el repositorio de la distribución.
La práctica normal es mantener el código del software en opción y luego vincular el archivo binario en el directorio /bin para que todos los usuarios puedan ejecutarlo.
/root: el directorio de inicio de la raíz
También existe el directorio /root y funciona como el directorio de inicio del usuario root. Entonces, en lugar de /home/root, el hogar de root se encuentra en /root. No lo confunda con el directorio raíz (/).
/media: punto de montaje para medios extraíbles
Cuando conecta un medio extraíble, como un disco USB, una tarjeta SD o un DVD, se crea automáticamente un directorio en el directorio /media para ellos. Puede acceder al contenido de los medios extraíbles desde este directorio.
/mnt – Directorio de montaje
Esto es similar al directorio /media pero en lugar de montar automáticamente los medios extraíbles, los administradores del sistema utilizan mnt para montar manualmente un sistema de archivos.
/srv – Datos de servicio
El directorio /srv contiene datos de los servicios proporcionados por el sistema. Para examplesi ejecuta un servidor HTTP, es una buena práctica almacenar los datos del sitio web en el directorio /srv.
Creo que toda esta información es suficiente para comprender la estructura de directorios de Linux y su uso.
Al final, si lo desea, puede descargar y guardar esta imagen para una referencia rápida a la estructura de directorios en los sistemas Linux.