Directorios de Linux: para qué sirven /etc, /var, /usr y las demás rutas principales

En Linux, /etc contiene principalmente configuración; /var, datos variables; /usr, programas y recursos; y /home, directorios personales de usuarios. Para orientarse entre estas rutas, consulte /etc, /var, /usr, /proc. Las condiciones y procedimientos relacionados se pueden consultar en Comprender el sistema de archivos: rutas absolutas y relativas y directorios principales y Ver y moverse a la ubicación actual - pwd, ls, cd, tree.

Vista general de los principales directorios de Linux

Directorio Significado del nombre Uso principal
/ Root El directorio raíz del sistema de archivos de Linux
/bin Binario Archivo ejecutable de comandos básicos
/boot Arranque Archivos relacionados con el arranque como el núcleo y el cargador de arranque
/dev Dispositivo Archivos de dispositivo como disco, terminal, etc.
/etc Tradicionalmente derivado de et cetera Archivos de configuración del sistema y servicios
/home Casa Directorio home del usuario común
/lib Biblioteca Biblioteca compartida
/lib64 Biblioteca de 64 bits Biblioteca compartida para sistemas de 64 bits
/media Medios Montaje de dispositivos extraíbles como USB, CD/DVD
/mnt Montar Ubicación para montar temporalmente el sistema de archivos
/opt Opcional Programas adicionales
/proc Proceso Sistema de archivos virtual que proporciona información del proceso y del kernel
/root Root Directorio home del usuario root
/run Ejecutar Datos de tiempo de ejecución generados después del arranque
/sbin Binario del sistema Comandos para la gestión del sistema
/srv Servicio Datos de los servicios proporcionados por el servidor
/sys Sistema Sistema de archivos virtual que proporciona información sobre dispositivos y el núcleo
/tmp Temporal Guardar archivos temporales
/usr Recursos del sistema Unix Programas, comandos, bibliotecas, datos compartidos
/var Variable Datos que cambian constantemente, como registros y caché

/ - Directorio raíz

/ es el directorio de nivel superior en el sistema de archivos de Linux.

A diferencia de las letras de unidad de Windows, Linux integra los sistemas de archivos montados bajo una única raíz /. Un dispositivo conectado puede necesitar un montaje antes de que su contenido sea accesible.

/
├── bin
├── boot
├── dev
├── etc
├── home
├── usr
└── var

/ se llama directorio raíz y es un concepto diferente del directorio de inicio de la cuenta de usuario root, /root.

/bin - Comandos básicos

bin es la abreviatura de Binary.

Se almacenan los archivos ejecutables de los comandos básicos necesarios para usar el sistema. Los comandos representativos incluyen ls, cp, mv, cat, entre otros.

ls /bin

En muchas distribuciones modernas de Linux, /bin no es un directorio real, sino un enlace simbólico que apunta a /usr/bin.

ls -ld /bin

/boot - Archivos relacionados con el arranque

En /boot se guardan el kernel y los archivos del cargador de arranque necesarios para iniciar el sistema Linux.

Los archivos y directorios representativos son los siguientes.

/boot/vmlinuz-...
/boot/initramfs-...
/boot/grub2/

Es el directorio que se verifica principalmente al actualizar el kernel o al cambiar la configuración del cargador de arranque GRUB.

/dev - Archivos de dispositivos

El nombre dev procede de Device (dispositivo).

En Linux, los dispositivos como discos duros, SSD, terminales, etc., se representan en forma de archivos.

/dev/sda
/dev/sdb
/dev/nvme0n1
/dev/tty
/dev/null

Por ejemplo, /dev/sda puede representar un dispositivo de disco, mientras que /dev/null es un dispositivo especial que descarta los datos que recibe.

/etc - Archivos de configuración del sistema

/etc es uno de los directorios más utilizados al gestionar un servidor Linux.

Principalmente se almacenan archivos de configuración del sistema operativo y de varios servicios.

/etc/passwd
/etc/fstab
/etc/hosts
/etc/ssh/sshd_config

Al cambiar configuraciones de SSH, Apache, Nginx, red, cuentas de usuario, etc., se modifican los archivos bajo /etc.

/home - Directorio personal de usuarios comunes

/home es un directorio donde se almacenan los archivos personales y configuraciones de los usuarios comunes.

Por ejemplo, si se crea un usuario llamado john, generalmente se crea un directorio personal como el siguiente.

/home/john

Cuando el usuario inicia sesión, la ubicación de trabajo predeterminada también será su propio directorio personal.

/lib, /lib64 - bibliotecas compartidas

lib es la abreviatura de Library.

Se almacenan las bibliotecas compartidas necesarias para ejecutar los programas y comandos básicos de Linux.

En sistemas de 64 bits se puede ver el directorio /lib64.

En las distribuciones recientes de Linux, los directorios /lib y /lib64 suelen ser enlaces simbólicos que apuntan a /usr/lib, /usr/lib64, entre otros.

/media - montaje de dispositivos extraíbles

/media es la ubicación utilizada para montar dispositivos de almacenamiento extraíbles como memorias USB, CD o DVD.

En Linux de escritorio, al conectar un dispositivo USB, a menudo se monta automáticamente bajo /media o /run/media.

/mnt - Montaje temporal

mnt proviene del nombre Mount.

Un administrador puede usar /mnt para un montaje temporal. El siguiente comando ilustra la sintaxis: requiere privilegios suficientes (use sudo mount si su cuenta tiene autorización), una partición existente con un sistema de archivos compatible y un punto de montaje disponible. Sustituya el dispositivo solo después de identificarlo; montar sobre un directorio oculta temporalmente su contenido previo. Para terminar, salga del punto de montaje y use sudo umount /mnt cuando ningún proceso lo esté utilizando.

mount /dev/sdb1 /mnt

Si /media se usa mucho para el montaje automático de dispositivos extraíbles como USB, /mnt se usa a menudo cuando un administrador monta manualmente un sistema de archivos temporalmente.

/opt - Programas adicionales instalados

opt significa Optional.

Se ubican principalmente programas comerciales o aplicaciones de terceros que se instalan aparte de la estructura de paquetes predeterminada de la distribución de Linux.

/opt/application/
/opt/company/product/

/proc - Información de procesos y del kernel

proc significa Proceso.

/proc no es un directorio común que almacene datos en el disco real, sino un sistema de archivos virtual donde el kernel de Linux proporciona información del sistema en forma de archivos.

La información de la CPU se puede verificar con el siguiente comando.

cat /proc/cpuinfo

La información de la memoria se verifica de la siguiente manera.

cat /proc/meminfo

Si el ID del proceso es 1234, se puede consultar diversa información sobre ese proceso en el directorio /proc/1234.

/root - directorio personal del usuario root

/root es el directorio personal del usuario root, que es la cuenta del administrador del sistema.

Usuario habitual → /home/user
Usuario root → /root

El directorio raíz / y el directorio personal del usuario root /root tienen significados diferentes.

/run - datos de tiempo de ejecución

En /run se almacenan información temporal de tiempo de ejecución utilizada por servicios y procesos después de que el sistema se haya iniciado.

Los ejemplos representativos incluyen archivos PID, sockets, información del estado de los servicios, etc.

/run/
/run/user/
/run/systemd/

Generalmente, los datos de /run se almacenan en la memoria y se inicializan al reiniciar el sistema.

/sbin - comandos de administración del sistema

sbin generalmente se utiliza para referirse a System Binary.

Aquí se encuentran los comandos necesarios para la administración del sistema.

/sbin/reboot
/sbin/fsck

En muchas distribuciones /sbin es un enlace de compatibilidad; su destino concreto depende del diseño y la versión del sistema. Estar en sbin no convierte un ejecutable en exclusivo de root: los permisos y las operaciones que realiza determinan quién puede usarlo.

/srv - Datos de servicio

srv significa Servicio.

Es un directorio destinado a almacenar datos de servicios que el sistema proporciona externamente, como servidores web o FTP.

/srv/www/
/srv/ftp/

Sin embargo, la ubicación real de los datos del servicio puede variar según la distribución o la configuración del administrador, y en el caso de los servidores web, a menudo se utiliza /var/www.

/sys - Información del sistema y del dispositivo

sys significa Sistema.

Al igual que /proc, /sys es más un sistema de archivos virtual proporcionado por el kernel que un directorio real en el disco.

Se utiliza principalmente para verificar información sobre dispositivos, controladores y objetos del kernel.

ls /sys/class

Permite consultar dispositivos, controladores y atributos del kernel. Algunos archivos de /sys y /proc aceptan escrituras que modifican el sistema en funcionamiento; no los edite como si fueran documentos corrientes.

/tmp - Archivos temporales

tmp es la abreviatura de Temporary.

Es un espacio donde los programas o los usuarios almacenan archivos que necesitan temporalmente.

/tmp

La limpieza de /tmp depende de las políticas locales; no presuponga que siempre se conserva o que siempre se vacía al reiniciar. /var/tmp está destinado a temporales que deben sobrevivir a reinicios, aunque también puede limpiarse por antigüedad. Ninguna de las dos rutas sustituye un almacenamiento permanente. El estándar de jerarquía del sistema de archivos (FHS) describe estas funciones y sus condiciones.

/usr - Programas y recursos del sistema

/usr es un directorio que ocupa un lugar muy importante en Linux.

/usr contiene programas y recursos que normalmente administra el gestor de paquetes. La expresión «Unix System Resources» se usa como ayuda para recordar su función; no debe tratarse como una explicación universal de su origen histórico.

Directorio Propósito
/usr/bin Comandos y programas generales
/usr/sbin Programas para la administración del sistema
/usr/lib Biblioteca compartida
/usr/lib64 Bibliotecas compartidas de 64 bits
/usr/share Documentos, iconos y otros datos compartidos independientes de la arquitectura
/usr/local Programas instalados directamente por el administrador

En particular, /usr/local es útil para diferenciar entre programas instalados por el gestor de paquetes y programas instalados directamente por el administrador.

/var - datos que cambian continuamente

var es la abreviatura de Variable.

Al operar el sistema, se almacenan datos que se crean continuamente o cuyo tamaño cambia.

/var/log
/var/cache
/var/lib
/var/spool

/var/log

Se almacenan los archivos de registro del sistema y del servicio.

ls /var/log

/var/cache

Se almacenan los datos en caché que utiliza el programa para mejorar el rendimiento.

/var/lib

Se almacenan datos de estado que los servicios y aplicaciones utilizan de manera continua.

/var/spool

Se utiliza para almacenar datos que esperan ser procesados, como correo, trabajos de impresión y tareas programadas.

En los servidores, especialmente los archivos de registro de /var/log pueden aumentar continuamente y ocupar mucho espacio en el disco, por lo que se recomienda verificar periódicamente el uso.

Método fácil para memorizar los directorios de Linux

No es necesario memorizar el uso de todos los directorios desde el principio. Es más conveniente recordar los directorios que se usan con frecuencia en la administración del servidor de la siguiente manera.

/etc      → configuración
/var      → registros y datos variables
/home     → datos de usuarios
/root     → directorio personal de root
/usr      → programas y bibliotecas
/tmp      → archivos temporales
/dev      → dispositivos
/proc     → procesos y kernel
/sys      → sistema y dispositivos
/boot     → archivos de arranque
/mnt      → montajes temporales
/opt      → aplicaciones adicionales

En particular, al inicio, recordar primero cuatro directorios: /etc para configuración, /var para registros, /usr para programas, /home para archivos de usuario, ayuda en la administración práctica de Linux.

Resumen de la estructura de directorios de Linux

Cada ubicación de los directorios de Linux tiene un papel relativamente claro. La configuración del sistema se almacena principalmente en /etc, los registros y los datos variables en /var, los programas y bibliotecas en /usr, y los archivos de usuario en /home.

Además, es bueno saber que /proc y /sys no son directorios normales del disco sino sistemas de archivos virtuales que proporcionan información del núcleo.

Al administrar un servidor Linux, te encontrarás frecuentemente con estos directorios, por lo que comprender qué tipo de datos almacena cada directorio es más efectivo que simplemente memorizar las rutas.