Arborescence des fichiers

Objectifs

  • Savoir ce qu'est la racine

  • Savoir faire la différence entre un chemin relatif et absolu

  • Comprendre l'arborescence classique sous Linux

DéfinitionLa racine

La racine dans un système de fichier est le dossier de base qui contient tout les autres dossiers, toute l'arborescence. Le cas de de Linux, la racine est le dossier /. Il n'y a rien au dessus, aucun dossier ne contient la racine, et tout les fichiers, dossiers et sous-dossiers sont contenus dans /.

Exemple

Dans n'importe quel dossier, je peux utiliser la commande pwd pour connaître l'endroit où je me trouve.

1
kyane@europa:~$ pwd
2
/home/kyane

Ici c'est le dossier de l'utilisateur (on le remarque grâce au "~" dans le prompt), c'est à dire /home/kyane. Si l'on veut se rendre à la racine, on peut donc remonter 2 dossiers en arrière.

1
kyane@europa:~$ cd ../..
2
kyane@europa:/$ pwd
3
/
4
kyane@europa:/$ ls
5
bin   dev  home        lib    lib64   media  opt   root  sbin  sys  usr  vmlinuz
6
boot  etc  initrd.img  lib32  libx32  mnt    proc  run   srv   tmp  var

Chemin absolu ou relatif

Dans l'exemple précédent on a utilisé cd ../.. pour se rendre à la racine, mais ça ne fonctionne que parce que l'on avait besoin de remonter 2 dossiers en arrière pour atteindre la racine. Si on avait été dans le dossier /var/log/docker on aurait eu besoin de faire cd ../../.., ou alors simplement cd /. Il y a donc 2 manières de se déplacer d'un dossier à l'autre.

DéfinitionChemin absolu

Un chemin absolu est un chemin qui permet de désigner un fichier (ou dossier) en fonction de sa localisation par rapport à la racine. On le reconnaît car il commence tout le temps par la caractère "/", la racine. Par exemple /etc/cron.d est un chemin absolu : quelque soit le dossier dans lequel je me trouve initialement je peux m'y déplacer en faisant cd /etc/cron.d.

DéfinitionChemin relatif

Un chemin relatif est un chemin qui permet de désigner un fichier (ou dossier) en fonction de sa localisation par rapport au dossier dans lequel on se trouve actuellement. Par exemple cd ../etc/cron.d permet de se rendre, à l'aide d'un chemin relatif, dans le dossier /etc/cron.d si l'on se trouve dans le dossier /home.

L'arborescence Linux

À la racine se trouve une grande quantité de dossiers différents, comme nous avons pu le voir.

1
kyane@europa:/etc/cron.d$ ls /
2
bin   dev  home        lib    lib64   media  opt   root  sbin  sys  usr
3
boot  etc  lib32  libx32  mnt   proc  run   srv   tmp  var

Ces dossiers sont souvent les mêmes d'une machine ou d'une distribution à une autre. En effet Linux a tendance à suivre une certaine logique d'organisation des fichiers et sous-dossiers, chaque dossier présent à la racine va contenir des fichiers selon certaines thématiques. Par exemple :

  • bin est un dossier qui va contenir beaucoup de programmes et commandes qui peuvent s’exécuter (des fichiers BINaires donc) ;

  • dev va contenir des dossiers particuliers qui vont permettre de gérer les périphériques : disque, clef USB, écran, etc ;

  • home va contenir les dossiers d'utilisateurs. Par exemple /home/kyane est le dossier d'utilisateur de kyane, tandis que /home/clement est celui de clement ;

  • var va contenir tout un tas de données variables : des messages du système (logs), du cache pour certains logiciels, etc.

  • etc contient la plupart des fichiers de configurations.

Il n'est pas nécessaire de connaître tout les dossiers, mais il est important de savoir qu'il y a une logique d'organisation. Avec l'habitude, cela permettra d'identifier rapidement si un fichier est de la configuration ou un programme, en fonction de là où on le trouve.

À retenir

Sous Linux les fichiers et dossiers sont organisés selon une certaine logique et forment une arborescence. Celle-ci commande à la racine, qui est le dossier parent de tout le système de fichier. Pour désigner un fichier, on utilise son chemin, soit absolu (à partir de la racine), soit relatif (en fonction du dossier courant).