Esquema básico de directorios.

En GNU/Linux podemos encontrarnos con estándares como el FHS (filesystem hierarchy standard), que nos explica qué podemos encontrarnos (o dónde buscarlo) en la estructura del sistema de ficheros de nuestro sistema.
  • /bin: utilidades de base del sistema, normalmente programas empleados por los usuarios, ya sean desde los comandos básicos del sistema (como /bin/ls, listar directorio), pasando por los shells (/bin/bash), etc.
  • /boot: archivos necesarios durante el arranque del sistema, por ejemplo la imagen del kernel Linux, en /boot/vmlinuz.
  • /dev: aquí encontramos ficheros especiales que representan los dispositivos posibles en el sistema, el acceso a los periféricos en sistemas UNIX se hace como si fueran ficheros. >Podemos encontrar ficheros como /dev/console, /dev/modem, /dev/mouse, /dev/cdrom, /dev/floppy… que suelen ser enlaces a dispositivos más específicos del tipo de controlador o interfaz que utilizan los dispositivos: /dev/mouse, enlazado a /dev/psaux, representando un ratón de tipo PS2; o /dev/cdrom a /dev/hdc, un CD-ROM que es un dispositivo del segundo conector IDE y máster. Aquí encontramos los dispositivos IDE como /dev/hdx, los scsi /dev/sdx… con x variando según el número de dispositivo. Aquí cabe comentar que en su inicio este directorio era estático, con los ficheros predefinidos, y/o configurados en determinados momentos, hoy en dia se utilizan tecnologías dinámicas (como hotplug y udev), que permiten detectar dispositivos y crear los archivos /dev dinámicamente bien al inicio del sistema, o durante la ejecución, con la inserción de dispositivos removibles.
  • /etc: ficheros de configuración. La mayoría de tareas de administración necesitarán examinar o modificar los ficheros contenidos en este directorio.
    Por ejemplo: /etc/passwd contiene parte de la información de las cuentas de los usuarios del sistema.
  • /home: contiene las cuentas de los usuarios, es decir, los directorios personales de cada usuario.
  • /lib: las bibliotecas del sistema, compartidas por los programas de usuario, ya sean estáticas (extensión .a) o dinámicas (extensión .so). Por ejemplo, la biblioteca C estándar, en ficheros libc.so o libc.a. También en particular suelen encontrarse los módulos dinámicos del kernel Linux, en /lib/modules.
  • /mnt: punto para montar (comando mount) sistemas de ficheros de forma temporal; por ejemplo: /mnt/cdrom, para montar un disco en el lector de CD-ROM momentáneamente.
  • /media: para punto de montaje habitual de dispositivos extraíbles.
  • /opt: suele colocarse el software añadido al sistema posterior a la instalación; otra instalación válida es en /usr/local.
  • /sbin: utilidades de base del sistema. Suelen ser comandos reservados al administrador (root). Por ejemplo: /sbin/fsck para verificar el estado de los sistemas de ficheros.
  • /tmp: ficheros temporales de las aplicaciones o del propio sistema. Aunque son para la ejecución temporal, entre dos ejecuciones la aplicación/servicio no puede asumir que va a encontrar los anteriores ficheros.
  • /usr: diferentes elementos instalados en el sistema. Algún software de sistema más completo se instala aquí, además de complementos multimedia (iconos, imágenes, sonidos, por ejemplo en: /usr/share) y la documentación del sistema (/usr/share/doc). También en /usr/local se suele utilizar para instalar software.
  • /var: ficheros de registro de sesión o de estado (ficheros de tipo log) y/o errores del propio sistema y de diversos servicios, tanto locales como de red. Por ejemplo, ficheros de sesión en /var/log, contenido de los correos en /var/spool/mail, o trabajos de impresión en /var/spool/lpd.
Éstos son algunos de los directorios definidos en el FHS para el sistema raíz, luego se especifican por ejemplo algunas subdivisiones, como el contenido de los /usr y /var, y los ficheros de datos y/o ejecutables típicos que se esperan encontrar como mínimo en los directorios.