# 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](http://proferamon.com/tic/sistemes_fitxers.html) 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

```ini
/
├── 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

- **Tot és un fitxer**: A GNU/Linux, dispositius, processos i sockets es representen com a fitxers.
- **Un sol arbre**: No existeixen lletres d'unitat; tot penja de `/`.
- **Punts de muntatge**: Qualsevol directori pot ser el punt d'entrada d'un sistema de fitxers diferent.
- **FHS**: L'estàndard que garanteix la compatibilitat entre distribucions GNU/Linux.

#### Versions d'aquest document

+ HTML - [jerarquia.html](https://proferamon.com/tic/jerarquia.html)
+ PDF - [jerarquia.pdf](https://proferamon.com/tic/docs/jerarquia.pdf)
+ ODT - [jerarquia.odt](https://proferamon.com/tic/odt/jerarquia.odt)
+ MD - [jerarquia.md](https://proferamon.com/tic/md/jerarquia.md)

[Domini Públic (CC0)](https://creativecommons.org/publicdomain/zero/1.0/deed.ca)



