hier(7) Descripción de la jerarquía del sistema de ficheros.

DESCRIPCIÓN

Un sistema Linux típico tiene, entre otros, los siguientes directorios:
/
Este es el directorio raiz. Aquí comienza todo el árbol de directorios.
/bin
Este directorio contiene programas ejecutables que son necesarios en el modo monousuario y para el arranque o reparación del sistema.
/boot
Contiene ficheros estáticos para el cargador de arranque (boot loader). Este directorio contiene sólo los ficheros necesarios durante el proceso de arranque. El instalador del mapa de arranque y los ficheros de configuracion deberían estar en /sbin y /etc.
/dev
Ficheros especiales o de dispositivo, que se refieren a dispositivos físicos. Ver mknod(1).
/dos
Si se utilizan tanto MS-DOS como Linux en el mismo ordenador, éste es el lugar típico para montar un sistema de ficheros DOS.
/etc
Contiene los ficheros de configuración locales a la máquina. Algunos paquetes software más grandes, como X11, pueden tener sus propios subdirectorios bajo /etc. Los ficheros de configuración generales pueden colocarse aquí o en /usr/etc. No obstante, los programas siempre deberían buscar estos ficheros en /etc, algunos de los cuales podrían ser enlaces hacia ficheros en /usr/etc.
/etc/opt
Ficheros de configuración específicos de cada equipo para aplicaciones instaladas en /opt.
/etc/sgml
Este directorio contiene los ficheros de configuración para SGML y XML (opcional).
/etc/skel
Cuando se crea una nueva cuenta de usuario, normalmente se copian los ficheros de este directorio al directorio del usuario (directorio "home").
/etc/X11
Ficheros de configuración del sistema de ventanas X11 (opcional).
/home
Normalmente, en las máquinas que poseen directorios "home" para usuarios, éstos se hallan bajo este directorio, sea directa o indirectamente. La estructura de este directorio depende de decisiones administrativas locales.
/lib
Este directorio debe contener aquellas bibliotecas compartidas que son necesarias para arrancar el sistema y para ejecutar las órdenes del sistema de ficheros raíz.
/mnt
Este directorio contiene puntos de montaje para sistemas de ficheros montados temporalmente.
/opt
Este directorio debería contener paquetes extra que contengan ficheros estáticos.
/proc
Este es el punto de montaje para el sistema de ficheros proc, que proporciona información acerca de los procesos en ejecución y el núcleo. Este pseudosistema de ficheros se describe con más detalle en proc(5).
/root
Este directorio suele ser el directorio personal para el usuario raíz (opcional).
/sbin
Como /bin, este directorio contiene órdenes necesarias para arrancar el sistema, pero que habitualmente no son ejecutadas por los usuarios normales.
/tmp
Este directorio contiene ficheros temporales que pueden ser borrados sin previo aviso, por ejemplo, por una tarea que se ejecuta periódicamente o durante el arranque del sistema.
/usr
Normalmente, este directorio se monta desde una partición separada. Únicamente debe contener datos compartidos de sólo lectura, de tal forma que pueda ser montado por varias máquinas que usen Linux.
/usr/X11R6
El sistema X-Windows, versión 11 distribución 6 (opcional).
/usr/X11R6/bin
Ficheros binarios que pertenecen al sistema X-Windows. A menudo existe un enlace simbólico desde el más tradicional /usr/bin/X11 hacia aquí.
/usr/X11R6/lib
Ficheros de datos associados con el sistema X-Windows.
/usr/X11R6/lib/X11
Contienen diversos ficheros necesarios para ejecutar X. A menudo, existe un enlace simbólico desde /usr/lib/X11 hacia este directorio.
/usr/X11R6/include/X11
Contiene ficheros cabecera necesarios para compilar los programas que usan el sistema de ventanas X11. A menudo, existe un enlace simbólico desde /usr/inlcude/X11 hacia este directorio.
/usr/bin
Este es el directorio principal de los programas ejecutables. Se deberían colocar aquí la mayoría de los programas que van a ser ejecutados por los usuarios normales, que no son necesarios para arrancar ni reparar el sistema y que no están instalados localmente.
/usr/bin/X11
Es el lugar típico donde buscar los ejecutables de X11. En Linux, normalmente es un enlace simbólico hacia /usr/X11R6/bin.
/usr/dict
Reemplazado por /usr/share/dict.
/usr/doc
Reemplazado por /usr/share/doc.
/usr/etc
En este directorio se pueden almacenar los ficheros de configuración globales a ser compartidos entre varias máquinas. Sin embargo, las órdenes siempre deben referenciar estos ficheros usando el directorio /etc Los enlaces que aparecen en /etc deben apuntar a los ficheros apropiados en /usr/etc.
/usr/games
Binarios para juegos y programas educativos (opcional).
/usr/include
Ficheros cabecera para el compilador C.
/usr/include/X11
Ficheros cabecera para el compilador C y el sistema X-Windows. Normalmente es un enlace simbólico hacia /usr/X11R6/include/X11.
/usr/include/asm
Ficheros cabecera que declaran algunas funciones de ensamblador. Suele ser un enlace simbólico hacia /usr/src/linux/include/asm.
/usr/include/linux
Contiene información que puede cambiar de una versión a otra del sistema y suele ser un enlace simbólico hacia /usr/src/linux/include/linux para obtener información específica del sistema operativo.

(Observe que este directorio debería contener ficheros de cabecera que funcionaran correctamente con la versión actual de libc y en espacio de usuario. Sin embargo, las fuentes del núcleo de Linux no están diseñadas para ser usadas con programas de usuario y no conocen la versión de libc que se está usando. Es muy probable que las cosas no vayan bien si deja /usr/include/asm y /usr/include/linux en un árbol aleatorio del núcleo. Los sistemas basados en Debian no hacen ésto sino que utilizan cabeceras de una versión del núcleo bien conocida, proporcionadas por el paquete libc*-dev.)

/usr/include/g++
Ficheros cabecera para usar con el compilador GNU C++.
/usr/lib
Bibliotecas objeto, que incluyen las bibliotecas dinámicas, más algunos ejecutables que normalmente no se invocan directamente. Los programas más complicados pueden tener aquí subdirectorios completos.
/usr/lib/X11
El lugar habitual para los ficheros de datos asociados con los programas X, así como ficheros de configuración del propio X. En Linux, normalmente es un enlace simbólico hacia /usr/X11R6/lib/X11.
/usr/lib/gcc-lib
Contiene ejecutables y ficheros cabecera para el compilador GNU C, gcc(1).
/usr/lib/groff
Ficheros para el sistema de formateo de documentos GNU groff.
/usr/lib/uucp
Ficheros para uucp(1).
/usr/local
Aquí es donde se encuentran habitualmente los programas que son locales a la instalación.
/usr/local/bin
Binarios de los programas locales de la instalación.
/usr/local/doc
Documentación local.
/usr/local/etc
Ficheros de configuración asociados a los programas instalados localmente.
/usr/local/games
Binarios para los juegos instalados localmente.
/usr/local/lib
Ficheros asociados a los programas instalados localmente.
/usr/local/include
Ficheros de cabecera para el compilador local de C.
/usr/local/info
Páginas de "info" asociadas a los programas instalados localmente.
/usr/local/man
Páginas del manual asociadas a los programas instalados localmente.
/usr/local/sbin
Programas de administración instalados localmente.
/usr/local/share
Datos de aplicaciones locales que pueden ser compartidos entre diferentes arquitecturas del mismo sistema operativo.
/usr/local/src
Código fuente para los programas instalados localmente.
/usr/man
Reemplazado por /usr/share/man.
/usr/sbin
Este directorio contiene los binarios de los programas de administración del sistema que no son esenciales para el proceso de arranque, para montar /usr, ni para reparar el sistema.
/usr/share
Este directorio contiene subdirectorios con datos específicos de aplicaciones, que pueden ser compartidos entre diferentes arquitecturas del mismo sistema operativo. A menudo se puede encontrar aquí material que solía estar en /usr/doc o /usr/lib o /usr/man.
/usr/share/dict
Contiene las listas de palabras usadas por los correctores ortográficos.
/usr/share/doc
Documentación sobre programas instalados.
/usr/share/games
Ficheros de datos estáticos para juegos en /usr/games.
/usr/share/info
Aquí van las páginas "info".
/usr/share/locale
Aquí va la información sobre localización.
/usr/share/man
Aquí van las páginas de manual repartidas en subdirectorios según la sección correspondiente.
/usr/share/man/<locale>/man[1-9]
Estos directorios contienen páginas de manual para una localización concreta en código fuente. Los sistemas que usen un único idioma y conjunto de caracteres para todas las páginas de manual pueden omitir la subcadena <locale>.
/usr/share/misc
Datos varios que pueden ser compartidos entre diferentes arquitecturas del mismo sistema operativo.
/usr/share/nls
Aquí van los catálogos de mensajes para el soporte de lenguaje nativo.
/usr/share/sgml
Ficheros para SGML y XML.
/usr/share/terminfo
La base de datos para terminfo.
/usr/share/tmac
Macros troff que no son distribuidas con groff.
/usr/share/zoneinfo
Ficheros para la información sobre huso horario.
/usr/src
Ficheros fuente para diferentes partes del sistema, incluidos con algunos paquetes con propósitos de referencia. No trabaje aquí en sus proyectos, ya que los ficheros bajo /usr deberían ser de solo-lectura salvo cuando se está instalando software.
/usr/src/linux
Esta solía ser la localización habitual para las fuentes del núcleo. Algunas distribuciones ponen aquí el código fuente del núcleo que llevan por defecto. Probablemente sería mejor usar otro directorio cuando construya su propio núcleo.
/usr/tmp
Obsoleto. Debería ser un enlace hacia /var/tmp. Éste enlace existe sólo por razones de compatibilidad y no debería usarse.
/var
Este directorio contiene ficheros que pueden cambiar de tamaño, como los ficheros de colas (de impresión y otros) y de registro (log).
/var/adm
Este directorio ha sido sustituido por /var/log y debería ser un enlace simbólico hacia /var/log.
/var/backups
Reservado por razones históricas.
/var/cache
Datos de programas en caché.
/var/catman/cat[1-9] o /var/cache/man/cat[1-9]
Estos directorios contienen páginas de manual preformateadas, distribuidas según su sección de manual. (El uso de páginas de manual preformateadas está desaconsejado.)
/var/cron
Reservado por razones históricas.
/var/lib
Información de estado variable para programas
/var/local
Datos variables para /usr/local.
/var/lock
En este directorio se crean los ficheros de bloqueo. La convención para nombrar los ficheros de bloqueo es LCK..<device> donde <device> es el nombre del dispositivo en el sistema de ficheros. El formato utilizado es el de los ficheros de bloqueo HDU UUCP, esto es, ficheros de bloqueo que contienen un PID como un número decimal ASCII de 10 bytes, seguido por un carácter de salto de línea.
/var/log
Diversos ficheros de bitácora o "log".
/var/opt
Datos variables para /opt.
/var/mail
Buzones de correo de los usuarios. Reemplaza a /var/spool/mail.
/var/msgs
Reservado por razones históricas.
/var/preserve
Reservado por razones históricas.
/var/run
Ficheros de ejecución variables, como los ficheros que contienen identificadores de proceso (PIDs) e información de los usuarios conectados (utmp). Los ficheros de este directorio se suelen borrar cuando se arranca el sistema.
/var/spool
Colas de ficheros para diversos programas.
/var/spool/at
Cola de trabajos para at(1).
/var/spool/cron
Cola de trabajos para cron(1).
/var/spool/lpd
Cola de trabajos para su impresión.
/var/spool/mail
Reemplazado por /var/mail.
/var/spool/mqueue
Correo saliente en cola.
/var/spool/news
Directorio para las noticias (news).
/var/spool/rwho
Cola de ficheros para rwhod(8).
/var/spool/smail
Cola de ficheros para el programa de distribución de correo smail(1).
/var/spool/news
Directorio de encolado para el subsistema de noticias.
/var/spool/uucp
Cola de ficheros para uucp(1).
/var/tmp
Como /tmp, este directorio contiene ficheros temporales, almacenados durante un tiempo no especificado. /var/yp Ficheros de base de datos para NIS.

CONFORME A

El Estándar de Jerarquía de Sistema de Ficheros, Version 2.2 <http://www.pathname.com/fhs/>

FALLOS

Esta lista no es exhaustiva. Diferentes sistemas puede estar configurados de forma diferente.