Jerarquia de directoris

GNU/Linux segueix l’estàndard FHS (Filesystem Hierarchy Standard), que defineix l’estructura i el contingut dels directoris en sistemes Unix i similars. Tota la jerarquia parteix d’un únic punt arrel: / (la barra inclinada), conegut com a directori arrel (root directory).

A diferència de Windows, on cada unitat té la seva pròpia arrel (C:\, D:\…), a GNU/Linux tot el sistema de fitxers forma un arbre únic, i qualsevol dispositiu addicional (discos, llapis de memòria, particions) es munta en un punt d’aquest arbre.

1. L’arbre de directoris

/
├── bin/
├── boot/
├── dev/
├── etc/
├── home/
│   ├── usuari1/
│   └── usuari2/
├── lib/
├── lib64/
├── media/
├── mnt/
├── opt/
├── proc/
├── root/
├── run/
├── sbin/
├── srv/
├── sys/
├── tmp/
├── usr/
│   ├── bin/
│   ├── include/
│   ├── lib/
│   ├── local/
│   └── share/
└── var/
    ├── log/
    ├── mail/
    └── spool/

2. Descripció dels directoris principals

/ — Directori arrel

És el punt de partida de tota la jerarquia. Tots els altres directoris en pengen directament o indirecta. Només l’usuari root té permisos d’escriptura en aquest nivell.

/bin — Binaris essencials

Conté els executables fonamentals del sistema, disponibles per a tots els usuaris, fins i tot quan el sistema arrenca en mode de recuperació. Exemples: ls, cp, mv, cat, bash, echo.

En moltes distribucions modernes (com Ubuntu o Fedora), /bin és un enllaç simbòlic a /usr/bin.

/boot — Fitxers d’arrencada

Conté els fitxers necessaris per arrencar el sistema: - El nucli Linux (vmlinuz) - El sistema de fitxers inicial en RAM (initrd o initramfs) - La configuració del gestor d’arrencada (GRUB)

/dev — Dispositius

Conté fitxers especials que representen dispositius de maquinari. A GNU/Linux, tot és un fitxer, inclosos els dispositius.

Fitxer Dispositiu
/dev/sda Primer disc dur SATA/SCSI
/dev/sda1 Primera partició del disc
/dev/tty1 Primera terminal virtual
/dev/null Dispositiu “forat negre”
/dev/random Generador de nombres aleatoris

/etc — Configuració del sistema

Conté els fitxers de configuració de tot el sistema i dels serveis. Tots són fitxers de text llegibles. Exemples importants:

Fitxer Contingut
/etc/passwd Llista d’usuaris del sistema
/etc/fstab Taula de sistemes de fitxers a muntar
/etc/hosts Resolució de noms local
/etc/network/ Configuració de xarxa
/etc/apt/ Configuració del gestor de paquets APT
/etc/ssh/sshd_config Configuració del servidor SSH

/home — Directoris personals dels usuaris

Cada usuari té un subdirectori propi (/home/nom_usuari) on guarda els seus fitxers personals, configuracions i dades. Exemple: /home/ramon/.

L’usuari root no té el directori a /home, sinó a /root.

/lib i /lib64 — Biblioteques essencials

Conté les biblioteques compartides (.so) necessàries per als binaris de /bin i /sbin. /lib64 conté les biblioteques per a arquitectures de 64 bits.

/media — Muntatge de dispositius extraïbles

Punt de muntatge per a dispositius extraïbles com unitats USB, CD-ROM o discos externs. El sistema operatiu munta automàticament els dispositius aquí. Exemple: /media/ramon/USB_32GB.

/mnt — Muntatge manual temporal

Directori usat tradicionalment per muntar sistemes de fitxers de forma manual i temporal. Exemple d’ús: mount /dev/sdb1 /mnt.

/opt — Programari opcional

Conté programari de tercers instal·lat manualment (no gestionat pel gestor de paquets). Cada aplicació sol tenir el seu propi subdirectori. Exemple: /opt/google/chrome/.

/proc — Sistema de fitxers virtual (processos)

No és un directori real al disc, sinó un sistema de fitxers virtual creat pel nucli en memòria. Proporciona informació sobre els processos en execució i el maquinari.

Fitxer/directori Informació
/proc/cpuinfo Informació del processador
/proc/meminfo Informació de la memòria RAM
/proc/1234/ Informació del procés amb PID 1234
/proc/net/ Estadístiques de xarxa

/root — Directori personal del superusuari

Equivalent a /home/usuari però per a l’usuari root (administrador del sistema). Només accessible per root.

/run — Dades d’execució en temps real

Conté informació sobre el sistema des de l’últim arrencament: fitxers PID, sockets, dades de serveis en execució. Es crea en memòria (tmpfs) a cada arrencada.

/sbin — Binaris d’administració

Similar a /bin, però conté executables destinats a l’administració del sistema (generalment per a root). Exemples: fdisk, mkfs, iptables, reboot.

En distribucions modernes, /sbin sol ser un enllaç simbòlic a /usr/sbin.

/srv — Dades de serveis

Conté les dades servides pels serveis del sistema (web, FTP, etc.). Exemple: /srv/www/ per a un servidor web.

/sys — Sistema de fitxers virtual (maquinari)

Similar a /proc, és un sistema de fitxers virtual que exposa informació del nucli sobre el maquinari i els controladors del sistema. Permet configurar alguns paràmetres del nucli en temps real.

/tmp — Fitxers temporals

Directori per a fitxers temporals creats pels programes durant la seva execució. El seu contingut s’esborra en cada reinici. Qualsevol usuari hi pot escriure.

/usr — Recursos del sistema Unix

Un dels directoris més grans. Conté la majoria del programari instal·lat, les biblioteques i la documentació. En sistemes moderns és de només lectura en producció.

Subdirectori Contingut
/usr/bin/ Executables dels programes instal·lats
/usr/sbin/ Executables d’administració instal·lats
/usr/lib/ Biblioteques dels programes
/usr/include/ Fitxers de capçalera per a programació en C
/usr/share/ Dades independents de l’arquitectura (manuals, icones…)
/usr/local/ Programari instal·lat localment (fora del gestor de paquets)
/usr/share/man/ Pàgines del manual (man)

/var — Dades variables

Conté dades que canvien constantment durant l’execució del sistema: registres, cues d’impressió, bases de dades, correus, etc.

Subdirectori Contingut
/var/log/ Fitxers de registre (logs) del sistema i serveis
/var/mail/ Bústies de correu dels usuaris
/var/spool/ Cues de tasques (impressió, cron…)
/var/cache/ Memòria cau de les aplicacions
/var/www/ Fitxers web (Apache, Nginx…)
/var/lib/ Dades persistents dels serveis

3. Resum

Directori Funció principal
/ Arrel del sistema de fitxers
/bin Binaris essencials per a usuaris
/boot Fitxers d’arrencada del sistema
/dev Fitxers de dispositius
/etc Configuració del sistema
/home Directoris personals dels usuaris
/lib Biblioteques essencials
/media Muntatge automàtic de dispositius extraïbles
/mnt Muntatge manual temporal
/opt Programari de tercers opcional
/proc Informació de processos (virtual)
/root Directori personal de root
/run Dades d’execució en temps real
/sbin Binaris d’administració
/srv Dades de serveis
/sys Informació de maquinari (virtual)
/tmp Fitxers temporals
/usr Programari instal·lat, biblioteques i documentació
/var Dades variables (logs, cues, cau)

4. Conceptes clau

Versions d’aquest document

Domini Públic (CC0)