# Chemin d'accès

En informatique, le chemin d'accès d'un fichier ou d'un répertoire est une chaîne de caractères ou une chaîne d'octets décrivant la position de ce fichier ou répertoire dans le système de fichiers.

## Nomenclature

On distingue un chemin d'accès selon qu'il soit relatif au dossier courant, ou absolu.
Un chemin d'accès est composé de segments qui sont joints par un séparateur de répertoire. Dans un chemin absolu, le premier composant est le répertoire racine. Le dernier composant est le nom de base ; il s'agit d'un nom de fichier (stem en anglais) et de son extension optionnelle.
On nomme répertoire d'un chemin d'accès, le chemin d'accès du répertoire parent, c'est-à-dire excluant son dernier segment. Si on peut considérer qu'un répertoire racine n'a pas de parent, en pratique les systèmes d'exploitation traitent la racine comme étant son propre parent.

## Chemins d'accès selon le système d'exploitation

| OS | Répertoire racine | Séparateur de répertoire |
| Système de type Unix | / | / |
| DOS et ses dérivés comme OS/2 et Microsoft Windows | <lettre du lecteur>:\$^{(1)}$ | \$^{(1)}$ |
| Classic Mac OS | <nom du disque>: | : |
| AmigaOS | <disque, volume ou nom affecté>: | / |
| RISC OS | <type de sf>::<nom du disque>.$ | . |
(1) : Attention sur les versions japonaises et coréennes de Windows, et sur les machines utilisant les code pages du japonais et du coréen, ce caractère est affiché respectivement ¥ et ₩.

## Comportement des chemins relatifs

Les chemins relatifs sont utilisés couramment :
* Pour le cas spécial où l'on invoque un exécutable en utilisant simplement son nom de base
* Dans une invite de commande, dans un client FTP, ou pour un programme qui interagit avec un système d'exploitation
Les chemins relatifs sont des chemins permettant d'arriver à un chemin de destination en partant d'un chemin de départ (qui est souvent le dossier courant).
Ils utilisent des noms de segments spéciaux :
* '..' nomme un segment qui correspond à remonter d'un niveau dans l'arborescence
* '.' nomme le dossier courant ; utilisé délibérément au milieu d'un segment il ne sert à rien, mais il a un rôle utile lorsqu'il est utilisé dans une invite de commandes, où '.' réfère au dossier courant, et l'appel d'un exécutable dans le dossier courant en le préfixant par un segment '.' évite la recherche d'exécutable par nom dans PATH.
Un chemin qui a été composé peut être normalisé (par exemple transformation de 'a/b/../c/./d' à 'a/c/d') ; la normalisation vers le chemin absolu le plus court représentant le même chemin est la mise en forme canonique de chemin de fichier, elle produit un chemin canonique.

### Cas des exécutables et bibliothèques référencés par nom de base

Sur Linux (et Unix), sur MS-DOS et ses dérivés, ainsi que sous Windows, le PATH est une variable d'environnement qui liste les répertoires dans lesquels des fichiers exécutables seront cherchés sans spécifier leur chemin absolu ou relatif mais juste leur nom de base.
Un exécutable présent dans un répertoire contenu dans PATH peut être invoqué en utilisant son nom de base. Sinon, il sera nécessaire d'indiquer le chemin exact chaque fois qu'on l'appellera.
Chaque composant de PATH (qui est séparé par un autre délimiteur; ';' sous DOS et Windows, ':' sous Linux et Unix est traité en ordre pour tenter d'y trouver un exécutable du nom désiré.
Un mécanisme similaire existe pour la résolution des chemins de bibliothèques logicielles (DLL) : sous DOS et Windows, la variable PATH est aussi utilisée alors que sous Linux et Unix, d'autres variables existent (par exemple LD_LIBRARY_PATH) pour les bibliothèques logicielles.