Sous les systèmes UNIX tout élément est représenté sous forme de fichier.
L'ensemble des fichiers est architecturé autour
d'une unique arborescence dont la base, appelée racine, est notée «/».
Les systèmes UNIX définissent différents types de fichiers :
- Les fichiers physiques, enregistrés sur le disque dur. Il s'agit du fichier au sens
où on l'entend généralement ;
- Les répertoires sont des fichiers (noeuds) de l'arborescence pouvant contenir des fichiers
ou d'autres répertoires. Un répertoire contient à minima un répertoire parent
(noté ..), correspondant au répertoire de plus haut niveau, et un répertoire courant (noté .), c'est-à-dire lui-même ;
- Les liens sont des fichiers spéciaux permettant d'associer plusieurs noms (liens) à un seul
et même fichier. Ce dispositif permet d'avoir plusieurs instances d'un même fichier en plusieurs endroits
de l'arborescence sans nécessiter de copie, ce qui permet notamment d'assurer un maximum de cohérence et
d'économiser de l'espace disque. On distingue deux types de liens :
- Les fichiers virtuels n'ayant pas de réelle existence physique car ils n'existent qu'en mémoire.
Ces fichiers, situés notamment dans le répertoire /proc contiennent des informations sur le système
(processeur, m&eazcute;moire, disques durs, processus, etc.) ;
- Les fichiers de périphériques, situés dans le répertoire /dev/,
correspondent aux périphériques du système. Cette notion peut être déroutant pour un nouvel
utilisateur dans un premier temps.
Les fichiers d'un système UNIX sont organisés dans une arborescence unique. Il est toutefois
possible d'avoir plusieurs partitions grâce à un mécanisme appelé montage,
permettant de raccorder une partition à un répertoire de l'arborescence principale.
Ainsi le fait de monter une partition dans le répertoire /mnt/partition rendra l'ensemble
des fichiers de la partition accessible à partir de ce répertoire, appelé «point de montage».
Pour assurer la compatibilité et la portabilité, les systèmes UNIX respectent
la norme FHS (File Hierarchy Standard). La hiérarchie de base d'un système Unix est la suivante:
/ | | | | la racine, elle contient les répertoires principaux |
| /bin | | | Contient les exécutables essentiels au système, employés par tous les utilisateurs. |
| /boot | | | Contient les fichiers de chargement du noyau, dont le chargeur d'amorce. |
| /dev | | | Contient les points d'entrée des périphériques. |
| /etc | | | Contient les fichiers de configuration nécessaires à l'administation du système (fichiers passwd, group, inittab, ld.so.conf, lilo.conf, ...). |
| | /etc/X11 | | contient les fichiers spécifiques à la configuration de X (contient XF86Config par exemple) |
| /home | | | Contient les répertoires personnels des utilisateurs. Dans la mesure où les répertoires situés sous /home sont destinés à accueillir les fichiers des utilisateurs du système, il est conseillé de dédier une partition spécifique au répertoire /boot afin de limiter les dégats en cas de saturation de l'espace disque. |
| /lib | | | Contient les bibliothèques standards partagées entre les différentes application du système. |
| /mnt | | | Permet d'accueillir les points de montage des partitions temporaires (cd-rom, disquette, ...). |
| /proc | | | Regroupe un ensemble de fichiers virtuels permettant d'obtenir des informations sur le système ou les processus en cours d'exécution. |
| /root | | | Répertoire personnel de l'administrateur root. Le répertoire personnel de l'administrateur est situé à part des autres répertoires personnels car il se trouve sur la partition racine, afin de pouvoir être chargé au démarrage, avant le montage de la partition /home. |
| /sbin | | | Contient les exécutables système essentiels (par exemple la commande adduser). |
| /tmp | | | contient les fichiers temporaires |
| /usr | | | Hiérarchie secondaire |
| | /usr/X11R6 | | ce répertoire est réservé au système X version 11 release 6 |
| | /usr/X386 | | utilisé avant par X version 5, c'est un lien symbolique vers /usr/X11R6 |
| | /usr/bin | | contient la majorité des fichiers binaires et commandes utilisateurs |
| | /usr/include | | contient les fichiers d'en-tête pour les programmes C et C++ |
| | /usr/lib | | contient la plupart des bibliothèques partagées du système |
| | /usr/local | | contient les données relatives aux programmes installés sur la machine locale par le root |
| | | /usr/local/bin | Binaires des programmes locaux |
| | | /usr/local/include | Fichiers d'en-tête C et C++ locaux |
| | | /usr/local/lib | Bibliothèques partagées locales |
| | | /usr/local/sbin | binaires système locaux |
| | | /usr/local/share | hiérarchie indépendante |
| | | /usr/local/src | Fichiers sources locaux |
| | /usr/sbin | | contient les fichiers bianires non essentiels au système réservés à l'administrateur système |
| | /usr/share | | réservé aux données non dépendantes de l'architecture |
| | /usr/src | | contient des fichiers de code source |
| /var | | | contient des données versatiles telles que les fichiers de bases de données, les fichiers journaux (logs), les fichiers du spouleur d'impression ou bien les mails en attente. |
|
|