Dernière mise à jour : 26/05/2016
Comme la plupart des systèmes de fichiers, celui de Linux est structuré hiérarchiquement. Les fichiers sont regroupés dans des répertoires et les répertoires peuvent avoir des sous-répertoires.
Ici, la notion de lecteur n'existe pas. Tout est organisé à partir de la racine
(notée /
) et chaque système de fichiers est "monté" dans un répertoire.
Ainsi, les différents disques seront accédés comme n'importe quel répertoire. Cette
technique est un peu lourde à gérer pour les médias amovibles. En effet, avant de
pouvoir accéder à une clé USB par exemple, il faut la "monter" et la "démonter"
avant de pouvoir la retirer. Les distributions modernes possèdent des outils qui
vous facilitent grandement la vie dans ce domaine.
Les noms de répertoires et de fichiers sont séparés par le caractère /
.
Le système de fichiers de Linux ne reconnaissent pas les extensions. Ainsi, un point dans le nom d'un fichier sera interprété comme n'importe quel autre caractère. Une exception cependant si le nom du fichier commence par un point. Il sera alors considéré comme caché et ne sera affiché que s'il est demandé explicitement.
Le système de fichiers de Linux est sensible aux majuscules et aux minuscules. Ainsi deux fichiers différents peuvent avoir un même nom s'il y a une différence au niveau de la casse. Il est recommandé d'utilise les minuscules pour nommer les fichiers et uniquement des caractères ASCII.
Voici une illustration montrant l'explorateur de fichiers de Ubuntu 12.08.
Comme nous l'avons vu, toute l'arborescence commence à partir du répertoire racine
/
. Dans un chemin, les différents répertoires sont séparés par le caractère
/
. Un chemin absolu commence à la racine et donc par le caractère
/
. Un chemin de relatif commencera à partir du répertoire courant.
Exemple :
/repertoire/sous_rep/sous_sous_rep/fichier (chemin absolu)
repertoire/sous_rep/sous_sous_rep/fichier (chemin relatif)
Dans chaque répertoire, il existe deux sous-répertoires spéciaux : .
et ..
. .
représente le répertoire courant et ..
le répertoire parent. Ils sont notamment utilisés dans les chemins de recherche
pour indiquer qu'il faut partir du répertoire courant ou pour remonter dans les
répertoires.
Les chemins peuvent contenir des "jokers" ("wildcard"). *
représente
n'importe quel caractère répété un nombre indéterminé de fois (0, 1 ou plusieurs
fois). ?
représente un et un seul caractère quelconque.
Les droits appliqués aux fichiers sont de trois sortes : r
(lecture),
w
(écriture) et x
(exécution). Ces droits sont classés en
3 groupes : les droits pour le propriétaire du fichier, les droits pour les
utilisateurs membre du même groupe que le propriétaire et les droits pour les autres
utilisateurs. La notation utilisée est la suivante :
-rwxrwxrwx
Le premier groupe rwx
représente les droits du propriétaire, le deuxième
groupe ceux des utilisateurs faisant partie du groupe du propriétaire et le troisième
groupe ceux des autres utilisateurs.
Très fréquemment, vous trouverez une notation octale pour désigner les droits.
vous devez vous représenter chaque groupe de droits comme un nombre binaire à trois
chiffres. Ainsi, r
vaut 4, w
vaut 2 et x
vaut 1. En faisant la somme de ces trois chiffre, on obtient le chiffre représentant
les droits du fichier. Exemple :
755
signifierwxr-xr-x
644
signifierw-r--r--
Illustration de l'affichage détaillé du contenu d'un répertoire.
Notez que les droits d'accès ne s'appliquent pas au super-utilisateur. Ce dernier a accès à tout.
Sous Linux, il est possible de créer deux types de liens : les liens symboliques et les liens physique.
Avec les liens symboliques, un fichier est créé qui renvoie vers le fichier de destination. Si le fichier de destination est supprimé, lorsqu'on essaie d'accéder au lien, nous obtenons une erreur.
Avec les liens physiques, une nouvelle entrée pointant vers le fichier de destination est créée dans le système de fichiers. Si le fichier de destination est supprimé, les données ne le sont pas et sont accessibles depuis le lien.
Afin de garantir une certaine inter-opérabilité entre les différentes distributions Linux, un certain nombre de répertoires ont été standardisés. Ce standard est en général bien respecté, mais avec quelques nuances parfois. Vous pouvez, si vous en avez le courage, consulter le standard complet sur cette page. Sinon, en voici un résumé
Répertoire | Description |
---|---|
/ |
Racine |
/bin |
Exécutables des commandes essentielles pour tous les utilisateurs |
/boot |
Fichiers statiques pour le lanceur. |
/dev |
Fichiers correspondants aux périphériques (disques, carte réseau, etc.) |
/etc |
Fichiers de configuration système spécifiques à la machine locale |
/etc/opt |
Fichiers de configuration pour les programmes installés dans /opt |
/etc/sgml |
Fichiers de configuration pour SGML (optionnel) |
/etc/X11 |
Fichiers de configuration pour le serveur X Window |
/etc/xml |
Fichiers de configuration pour XML (optionnel) |
/home |
Répertoires personnels des utilisateurs |
/lib |
Librairies partagées essentielles et modules du noyau |
/media |
Point de montage pour les média amovibles |
/mnt |
Point de montage pour les systèmes de fichiers temporaires |
/opt |
Logiciels supplémentaires |
/proc |
Système de fichier virtuel d'information pour les processus et le noyau |
/root |
Répertoire personnel du super-utilisateur |
/sbin |
Exécutables du système |
/srv |
Données pour les services fournis par le système |
/tmp |
Fichiers temporaires |
/usr |
Données partagées et en lecture seule. Ce répertoire est un des plus important |
/usr/bin |
La plupart des exécutables utilisateurs |
/usr/include |
Entêtes des bibliothèques standard |
/usr/lib |
Librairies pour la programmation et les paquets |
/usr/local |
Hiérarchie locale (pour les programmes installés localement) |
/usr/local/share |
Identique à /usr/share , mais pour les programmes locaux |
/usr/sbin |
Exécutables standards non essentiels |
/usr/share |
Données indépendantes de la plate-forme |
/usr/share/dict |
Liste de mots (optionnel) |
/usr/share/man |
Pages du manuel |
/usr/share/misc |
Données diverses indépendantes de la plate-forme |
/usr/src |
Code source |
/usr/X11R6 |
Système X Window, Version 11R6 |
/var |
Fichiers de données pouvant être modifiés |
/var/account |
Journaux de comptabilité des processus (optionnel) |
/var/cache |
Cache des données des applications |
/var/crash |
Dumps du système après un crash (optionnel) |
/var/games |
Données des jeux (optionnel) |
/var/lib |
Informations d'état modifiables |
/var/lock |
Fichiers de verrouillage |
/var/log |
Journaux (log files) |
/var/mail |
Fichiers des boîtes aux lettres des utilisateurs (optionnel) |
/var/opt |
Données temporaires pour /opt |
/var/spool |
Fille d'attente des applications |
/var/spool/lpd |
Fille d'attente de l'imprimante (optionnel) |
/var/tmp |
Fichiers temporaires préservés entre deux redémarrage du système |
© Sébastien Adam 1996 ~ 2023 - https://www.sebastienadam.be/ - .