Arborescence des fichiers

Sous Unix/Linux, l'ensemble des fichiers sont organisés sous la forme d'un arbre et chaque fichier est identifié par son nom complet à partir de cette racine. L'arborescence des fichiers comprend à la fois des répertoires et des fichiers. Afin de bien manipuler les fichiers sous Unix/Linux, il y a quelques conventions à retenir :

  • les noms de fichiers et de répertoires contiennent généralement uniquement des lettres, chiffres et quelques caractères spéciaux tels que ., -
  • la distinction entre majuscule et minuscule est importante : le fichier Aa est différent du fichier aA
  • il est préférable d'éviter de mettre dans les noms de fichiers et de répertoires des caractères qui sont interprétés de façon spéciale par le shell comme :
    • (espace)
    • < ou >
    • |
    • /
    • \
    • &
    • ~
  • dans un nom complet, le caractère / sert à séparer les différentes composantes du nom
  • contrairement à DOS/Windows, l'extension d'un fichier n'indique pas si il est exécutable ou non. Ce sont les permissions qui indiquent si un fichier est exécutable.

Si vous respectez ces conventions, vous éviterez de nombreux problèmes.

Le répertoire racine d'une station Linux standard

Afin de comprendre l'arborescence des fichiers, il est utile de voir le contenu du répertoire racine d'une station Linux. L'exemple ci-dessous est obtenu en faisant ls -l(voir ls) dans la salle Intel.

 drwxr-xr-x    2 root root   4096 2005-09-10 22:35 bin/

Le répertoire /bin contient essentiellement des utilitaires système de base comme par exemple ls, rm, grep, df, cp, ...

 drwxr-xr-x    2 root root   4096 2005-09-10 22:26 boot/

Le répertoire /boot contient essentiellement des fichiers nécessaires au démarrage du système Linux.

 lrwxrwxrwx    1 root root     11 2005-09-09 19:56 cdrom -> media/cdrom/

Cette entrée du répertoire est un lien symbolique vers /media/cdrom

 drwxr-xr-x   11 root root   3900 2005-09-13 12:51 dev/

Ce sous-répertoire contient tous les fichiers spéciaux correspondants aux device drivers

 drwxr-xr-x  114 root root   8192 2005-09-15 11:30 etc/

Ce sous-répertoire contient les fichiers de configuration du système. Ces fichiers contiennent la plupart des paramètres nécessaires au bon fonctionnement du système. Le sous-répertoire /etc/init.d contient les scripts qui sont exécutés lors du démarrage du système.

 drwxr-xr-x   12 root root   4096 2005-09-12 14:18 etinfo/

Ce sous-répertoire contient l'ensemble des répertoires home des utilisateurs des salles didactiques. Les fichiers que vous stockez dans votre répertoire home sont régulièrement sauvegardés sur bandes.

 drwxrwsr-x    3 root staff  4096 2005-09-09 18:01 home/

Ce sous répertoire n'est pas utilisé dans les salles didactiques.

 drwxr-xr-x    2 root root   4096 2005-09-09 19:56 initrd/
 lrwxrwxrwx    1 root root     31 2005-09-10 22:23 initrd.img -> boot/initrd.img-2.6.8-2-686-smp
 lrwxrwxrwx    1 root root     27 2005-09-10 21:58 initrd.img.old -> boot/initrd.img-2.6.8-2-686

Ce sous-répertoire et ces deux liens correspondent à des fichiers utilisés lors du démarrage de Linux.

 drwxr-xr-x    8 root root   4096 2005-09-13 13:38 lib/

Ce sous-répertoire contient certaines librairies dynamiques? nécessaires du bon fonctionnement du système.

 drwxr-xr-x    2 root root  49152 2005-09-09 19:55 lost+found/

Ce sous-répertoire sert en cas d'arrêt brutal de la station Linux. Au redémarrage, la station vérifiera l'état de ses disques avec efsck? et placera éventuellement dans le répertoire /lost+found les fichiers/blocks en erreur qui auraient été trouvés.

 drwxr-xr-x    4 root root   4096 2005-09-09 19:56 media/
 drwxr-xr-x    2 root root   4096 2004-12-15 23:55 mnt/

Ces deux répertoires servent de point de montage pour les disques externes (CD, USB, floppy) notamment.

 drwxr-xr-x    2 root root   4096 2005-09-09 19:56 opt/

Ce répertoire n'est pas utilisé. Il pourrait servir à stocker des applications optionnelles.

 dr-xr-xr-x  107 root root      0 2005-09-12 15:56 proc/

Ce répertoire contient de nombreux fichiers virtuels qui donnent de l'information sur l'état du système. Voir man proc

 drwxr-xr-x   14 root root   4096 2005-09-14 16:40 root/

Il s'agit du répertoire "home" de l'utilisateur root, c'est-à-dire l'administrateur système.

 drwxr-xr-x    2 root root   4096 2005-09-13 13:38 sbin/

Ce répertoire contient des utilitaires de gestion du système qui sont typiquement utilisés uniquement par l'administrateur système.

 drwxr-xr-x    2 root root   4096 2005-09-09 19:56 srv/

Ce répertoire n'est pas utilisé dans les salles didactiques.

 drwxr-xr-x    9 root root      0 2005-09-12 15:56 sys/

Ce répertoire contient des fichiers virtuels qui donnent de l'information sur le hardware de la machine et son état.

 drwxr-xr-x    3 root root   4096 2005-09-09 19:55 tempor/

Ce répertoire est une zone de stockage temporaire locale dans laquelle vous pouvez stocker vos fichiers de travail. Notez que le contenu de ce répertoire n'est jamais backupé et que par contre il sera régulièrement nettoyé.

 drwxrwxrwt   14 root root   4096 2005-09-15 13:55 tmp/

Ce répertoire est le répertoire par défaut pour les fichiers temporaires. Il est plus petit que le répertoire /tempor

 drwxr-xr-x   13 root root   4096 2005-09-09 18:57 usr/

Ce répertoire contient la plupart des applications que vous utilisez. Celles-ci sont généralement dans les sous-répertoires /usr/bin, /usr/X11R6/bin et /usr/local/bin

 drwxr-xr-x   17 root root   4096 2005-09-13 19:04 var/

Ce répertoire contient des fichiers temporaires ou de log nécessaires au bon fonctionnement du systèmes.

 lrwxrwxrwx    1 root root     28 2005-09-10 22:23 vmlinuz -> boot/vmlinuz-2.6.8-2-686-smp
 lrwxrwxrwx    1 root root     24 2005-09-10 21:58 vmlinuz.old -> boot/vmlinuz-2.6.8-2-686 

Ces deux liens symboliques pointent vers deux versions du kernel Linux. Vous pouvez utiliser la commande uname pour connaître la version actuelle de Linux qui est utilisée.

Ces répertoires peuvent être sur les disques locaux de la machine ou sur des serveurs. La commande df vous renseigne sur la localisation de chaque répertoire.

 Filesystem           1K-blocks      Used Available Use% Mounted on
 /dev/sda1              9614116   4312656   5106116  46% /
 tmpfs                   513448         0    513448   0% /dev/shm
 /dev/sda4             15433120     32860  15243468   1% /tempor
 /dev/sda3              9614148     32860   9385944   1% /usr/local2
 tmpfs                    10240       712      9528   7% /dev
 aldebaran:/etinfo/users
                       30983686  29932050    741800  98% /etinfo/users
 aldebaran:/etinfo/users2
                       20655529  10206813  10242161  50% /etinfo/users2
 aldebaran:/etinfo/users3
                       60264349         9  59661697   1% /etinfo/users3
 /dev/fd0                  1424       262      1162  19% /media/floppy0

Le répertoire racine (/) se trouve sur la première partition du disque /dev/sda. Le répertoire /usr/local2 se trouve sur la troisième partition de ce disque. Il contiendra certaines applications. Le répertoire /tempor est sur la quatrième partition du disque local. Pour les curieux, la deuxième partition du disque local sert de swap et est définie dans le fichier /etc/fstab. Les répertoires /dev et /dev/shm sont stockés dans un ramdisk en mémoire. Enfin, la station monte trois répertoires : /etinfo/users, /etinfo/users2 et /etinfo/users3.