Estructura de directorios
En linux existen diversos directorios y subdirectorios que cumplen objetivos especificos. Librerías, binarios, programas instalados, archivos temporales, etc., se encuentran contenidos en rutas especificas donde podemos ubicarlos si se necesitan en algun momento de ellos.
Jerarquía estándar de archivos del sistema - Linux
Directorio raíz, donde se encuentran todos los directorios y archivos de forma lógica.
En este directorio podemos encontrar todos los archivos ejecutables del sistema. En él están muchos de los comandos que usamos habitualmente como por ejemplo ls, cat, more, cp, tar... además de los de cada programa instalado.
Aquí se encuentran todos los archivos de los usuarios del sistema. Si mi usuario es pablo la ruta sería /home/pablo
Aquí es donde se montan los Cds, Dvds, Sticks USB y discos duros externos.
Contiene archivos ejecutables que por lo general son comandos usados para la administración del sistema. Los comandos mount, halt, unmount, shutdown son algunos de ellos.
Contiene varios archivos y subdirectorios importantes como pueden ser las configuraciones de entorno grafico X, fuentes del kernel, librerías, juegos, y mucho mas...
Todos los archivos necesarios para el arranque del sistema, incluidos el cargador Grub y los kernels disponibles.
Directorio vacío, normalmente se suele usar para montajes de unidades temporales que deseamos cargar en ese momento.
Contiene varios archivos que definen el sistema así como archivos log, que almacenan cada movimiento del sistema como por ejemplo el fichero /var/log/messages.
Enlace simbolico hacia /media/cdrom.
Aquí es donde estan todos los drivers y los dispositivos, estos se identifican en forma de archivo.
Contiene librerías para C y otros lenguajes de programación.
Directorio que contiene información sobre diferentes partes del sistema, cpu, discos, tiempo uptime, irqs, memoria, etc.
En este directorio se suele almacenar todos los archivos de una instalación fuera de los repositorios como puede ser cuendo instalamos un .deb
Contiene practicamente todos los archivos de configuración del equipo y los demonios de inicio en /etc/init.d entre otras cosas.
Directorios especificos para archivos perdidos. Cada partición tiene el suyo propio independientemente.
Directorio particular del superusuario del sistema (root)
Directorio temporal que pueden usar todos los usuarios para archivos temporales y del sistema.
Estructura Basica de las Fuentes del Nucleo
Los archivos que contienen el código fuente del núcleo de LINUX se puede encontrar a partir del directorio /usr/src/ LINUX. Los directorios que los contienen son:
KERNEL: Sección central del núcleo, con la codificación de servicios como fork, exit, etc. Parte de este código es muy dependiente de la máquina donde se este ejecutando LINUX ; se ubica en directorios bajo el directorio arch.
NET: Implementación de los protocolos mas usuales en redes (TCP/IP, ARP...), así como el código para los sockets, etc.
FS: Este directorio contiene los archivos del Virtual File System Switch y los que cuelgan de el contienen el soporte para los diferentes sistemas de ficheros soportados ( ext2, ms dos, minix, xiafs, sysv y muchos otros). El mas usado en LINUX actualmente es el ext2. Por ultimo hay que señalar que este directorio es también herencia de minix.
ARCH: Implementación del código dependiente de la maquina . Hay directorios como alpha ( para el DEC Alpha ), i386 (para el Intel 80386) y otros.
MM: Contiene las fuentes para la administración de la memoria . No es un gestor de la memoria al estilo minix, el directorio queda como una reminiscencia del sistema a partir del cual fue desarrollado.
MODULES: Contiene las fuentes para la carga dinámica de módulos en el sistema ( permite modificar el núcleo en tiempo de ejecución).
INIT: Funciones para el arranque e iniciación del kernel a partir de ciertos parámetros que le son pasados .
DRIVERS: Contiene subdirectorios para el manejo de los diferentes dispositivos conectados a la máquina. Es en estos (block, char, net, sound. . . . ) donde se ubican los diferentes device drivers. Este directorio es el mas voluminoso de todos , y se estima que va a ser el de mayor crecimiento a lo largo del desarrollo de LI NUX, debido al enorme y creciente numero de dispositivos existentes en el mercado.
IPC: Fuentes para la intercomunicación de los procesos. Incluye semáforos, colas de mensajes y memoria compartida.
LIB: Implementación de algunas de las funciones estándar del lenguaje de programación C de las que se hace gran uso en la implementación del kernel.
INCLUDE: Directorio donde se almacenan los archivos de cabecera del kernel (header files). Cuelgan de el algunos directorios para las diferentes arquitecturas soportadas. Para simplificar el acceso a la arquitectura adecuada existe un LINK simbólico llamado include / asm.