Los usuarios principiantes de Linux se encuentran con una enorme montaña de información para aprender. ¿Qué es esto de la terminal? ¿Cómo ejecuto actualizaciones de software? ¿Qué distribución elijo? Esas son todas las preguntas comunes. Sin embargo, hay una pregunta que aún afecta a muchos usuarios de Linux más experimentados: ¿qué hay en cada uno de los directorios del sistema de directorio virtual de Linux? Aquí cubrimos todo, desde «/» hasta «/boot» en nuestra guía del sistema de directorio virtual de Linux.
¿Qué es el sistema de directorio virtual de Linux?
Un sistema de directorio virtual es una forma de organizar archivos y directorios en un sistema operativo de computadora. La razón por la que se llama «virtual» es que no hay un componente físico real: en Windows, tiene su unidad «C:», unidad «D:», etc. En Linux, todos los discos físicos se tratan como archivos en su sistema de directorio virtual. De ahí viene la frase “todo es un archivo”. Incluso el disco en su sistema en el que está trabajando para su sistema operativo se trata como un archivo.
Comprender el sistema de directorio virtual
El directorio raíz: /
Empecemos por el principio. El directorio «/» (o «raíz») es lo que contiene todo en el sistema. Al ejecutar el cd /
comando, se está alejando tanto como sea posible en su sistema. Cambie al directorio «/» y ejecute el ls
dominio. Empezarás a ver lo que quiero decir. En lugar de «Documentos», «Descargas» o «Imágenes», obtienes cosas como «bin», «dev» y «home». Será un poco diferente dependiendo de su distribución, pero hay algunos directorios centrales que prácticamente siempre estarán allí. Todos los directorios desde aquí tendrán «/» al principio porque esa es la raíz misma de todo, de ahí el nombre «raíz».
El directorio binario: /bin
El directorio “/bin” contiene todos los programas binarios en su sistema. Si miras allí, verás comandos comunes como cd
y ls
que ya hemos usado. También puede encontrarlos ejecutando el which cd
o which ls
comandos La mayoría de las veces en las distribuciones modernas, el directorio “/bin” está vinculado al directorio “/usr/bin”. El directorio «/usr» se cubre más adelante, pero en resumen, se utilizan para separar los archivos binarios destinados al sistema y los administradores en el directorio «/bin» y los usuarios del sistema en «/usr/bin».
El directorio de arranque: /boot
El directorio «/boot» contiene toda la información básica que su sistema necesitará para iniciarse. Todos los núcleos que ha instalado en su sistema, todos los archivos de configuración para esos núcleos, información para Grub, todo. Es un directorio muy importante y se trata como una partición del sistema EFI separada de su sistema. Es por eso que cuando crea particiones manuales, necesita hacer al menos «/» y «/boot» por separado.
El directorio de dispositivos: /dev
El directorio “/dev” contiene todos los archivos de dispositivos en el sistema, que son todos los componentes de hardware en su sistema (así como algunos otros dispositivos virtuales importantes como “null” y “random”). observe cosas como «cpu», «sda», «tty», «stderr», «stdin» y «stdout». Esos son todos los archivos importantes del dispositivo con los que interactuará a diario.
El directorio Etc.: /etc.
Esto es para cosas aleatorias. El directorio “/etc”, pronunciado como Etsy, es donde encontrará muchos archivos de configuración para la mayoría de las cosas en su sistema. Cosas como SSH, Pipewire, systemD y Firefox tienen archivos de configuración aquí. Es una especie de cajón de basura del sistema de directorio virtual: súper importante pero un poco engorroso para encontrar cosas.
El directorio de inicio: /home
El directorio “/home” alberga todos los archivos personales de los usuarios. Cuando se crea un usuario, generalmente se le otorga un directorio «/home» y permisos para editar solo los archivos en su directorio «/home». Algunos usuarios también tienen derechos de administrador, que es lo que sudo
te conecta, pero eso es solo asumir los derechos del usuario root. Si tu corres whoami
y sudo whoami
sucesivamente, comenzarás a ver eso. Este es el directorio con el que probablemente esté más familiarizado.
El directorio de la biblioteca: /lib, /lib32 y /lib64
Todos los directorios “/lib” contienen bibliotecas específicas que utilizarán los programas en “/bin” o “/sbin” (que se tratan más adelante). Aquí es donde se almacena el firmware, junto con otras bibliotecas para instalar diferentes partes del kernel y los módulos del kernel. Los directorios hermanos “/lib32” y “/lib64” solo contienen versiones para sistemas operativos de 32 y 64 bits y son casi idénticos al directorio base “/lib”.
El directorio multimedia: /media y /mnt
Los estoy agrupando porque a menudo tienen el mismo propósito. El directorio “/media” es donde se almacena el contenido de los CD, DVD u otros medios extraíbles. Si conecto una unidad USB, verá que aparece en “/media” en la mayoría de los sistemas.
El directorio “/mnt” se usa para montajes a largo plazo. Por ejemplo, si tuviera que agregar otro SSD a mi sistema, podría configurar un punto de montaje permanente para él en el directorio «/mnt». O, si tengo un NAS en mi hogar, también puedo montar esa información en el directorio “/mnt”.
/optar
El directorio “/opt” alberga paquetes de software adicionales para uso de un usuario. Es mucho más pequeño de lo que piensas: el mío solo alberga archivos para Brave, Google Chrome y Sublime Text. Si agrega un repositorio para una pieza de software, probablemente lo encontrará en «/opt».
/proc
El directorio «/proc» alberga información de hardware e información de proceso en curso. A medida que el sistema descubra cómo se ve el panorama del hardware, se almacenará en el directorio «/proc». Por ejemplo, si ejecuta el comando cat /proc/cpuinfo
aprenderá más sobre su CPU de lo que nunca pensó que quería saber.
/raíz
Esta es solo la versión del usuario raíz de un directorio “/home”. Si trabaja mucho como usuario raíz, encontrará cosas allí.
/correr
El directorio «/run» es algo similar a «/proc», solo que en lugar de hardware, «/run» se enfoca en el software. Ambos almacenan lo que se llama «datos de tiempo de ejecución volátiles», lo que significa que estos directorios se borran prácticamente cada vez que reinicia el sistema, pero almacenan cosas útiles a medida que el sistema operativo aprende más sobre su sistema y para qué lo está utilizando.
/sbin
El directorio «/sbin» alberga programas binarios que solo deben estar disponibles para el usuario root. Por ejemplo, el programa binario que apaga su sistema (poweroff
) probablemente debería permanecer en «/sbin».
/srv
Este es el directorio que contiene datos específicos del sitio en función de los servicios accesibles a través de la Web que está ejecutando. Cosas como FTP y HTTP tendrán información específica almacenada aquí. No estoy ejecutando ninguno, por lo que mi directorio «/srv» está vacío.
/sistema
El directorio “/sys” alberga información sobre los dispositivos clave del sistema. En el mío, verá cosas como «/sys/dev», «/sys/firmware» y «/sys/kernel». Esta es una selección de los dispositivos de hardware súper importantes en el directorio «/dev».
/tmp
El directorio “/tmp” se usa para almacenar información temporal de varios programas en su sistema. La información se almacena aquí solo por un par de días sin reiniciar, por lo que son solo bloqueos temporales en la información para mantener libre otro espacio de almacenamiento. No hay mucho que la mayoría de los usuarios tenga que hacer con el directorio “/tmp”.
/usr
El directorio “/usr” se toca cada vez más. Ahora, directorios como «/bin», «/lib» y «/sbin» están vinculados a versiones de esos directorios en «/usr». Puedes ver que cuando ejecuto el ll
comando en mi sistema.
Son enlaces blandos, por lo que se pueden desvincular, pero el sistema termina leyendo de los directorios «/usr/bin» o «/usr/sbin», en lugar de los directorios «/bin» o «/sbin». Todo esto se hace para simplificar la jerarquía presente y facilitar la búsqueda de estos programas. Es una buena cosa de calidad de vida que hace que sea más fácil cambiar de Linux a Unix o no tener ubicaciones fijas para diferentes binarios.
/var
El directorio “/var” es similar al directorio “/tmp”, pero contiene datos por un poco más de tiempo. También almacena elementos como archivos de registro e imágenes de disco de la máquina virtual KVM.
Como puede ver, el sistema de directorio virtual de Linux está destinado a organizar los archivos que utilizará su sistema y simplificar la administración y gestión de su sistema. Obviamente, puede hacer lo que quiera con este sistema (esa es la belleza de Linux), pero dejar las cosas como están está bien para la mayoría de los usuarios de escritorio. Es posible que también desee averiguar qué sistema de archivos es el mejor para Linux en 2021.