Arborescence du système Linux

Introduction



Notre système Linux possède des dossiers et des fichiers.
Chaque dossier a son utilité, et tout n'est pas stocké n'importe comment.
Dans cet article, je vais expliquer les notions de systèmes de fichiers, de racine, et de chemin.

Le système de fichiers, racine, chemin



Notre système de fichiers sous Linux est organisé. Chaque dossier à la racine de l'arborescence a une utilité particulière.

On appelle cela une «arborescence» car schématiquement, nous partons de la racine du système de fichiers, nous parcourons cette arborescence en allant de dossiers en dossiers. (Un peu comme un arbre)

Il n'y a pas d'arbre sans racine ! Donc, tout chemin de fichiers dans le système Linux part de la racine. Cette racine est notée / (slash).

Cette racine est "à peu près" comparable au C:\ de Windows, histoire de faire un grossier parallèle.

A noter, quand on part de la racine puis qu'on parcours les dossiers, l'ensemble de la localisation est appelée chemin.

Il existe 2 représentations d'un chemin :
- Chemin absolu, qui part de la racine : /home/adrien/Documents/Comptes
- Chemin relatif, qui part de l'endroit où on se situe. Exemple, si on se situe dans /home/adrien, un chemin relatif est Documents/Comptes


Un répertoire pour chaque utilisation



Dans cette racine (/), on y trouve un certain nombre de répertoires, bien défini. Chacun à son rôle.



Il est tout à fait possible de créer d'autres dossiers dans la racine (par exemple /data), ce n'est pas interdit. Les dossiers présentés ci-dessus sont ceux qui sont là, par défaut, avec leurs utilité.

Sur les distributions basées sur Red Hat, quelques modifications de l'arborescence ont eu lieu récemment.

Vous avez peut être entendu parler du usermove, et bien c'est cette opération qui a eu pour but de déplacer les exécutables des dossiers ci-dessous dans le dossier /usr puis d'avoir un lien symbolique pour conserver la compatibilité avec les anciennes applications

Code BASH :
ls -l / | egrep "^l"
lrwxrwxrwx.   1 root root     7 25 août  14:45 bin -> usr/bin
lrwxrwxrwx.   1 root root     7 25 août  14:45 lib -> usr/lib
lrwxrwxrwx.   1 root root     9 25 août  14:45 lib64 -> usr/lib64
lrwxrwxrwx.   1 root root     8 25 août  14:45 sbin -> usr/sbin