Article de reference

Chemin (informatique)

Un chemin d'accès ( ou chemin de fichier ) est une chaîne de caractères qui identifie de manière unique un élément dans un système de fichiers hiérarchique . Généralement, un ch...

Un chemin d'accès ( ou chemin de fichier ) est une chaîne de caractères qui identifie de manière unique un élément dans un système de fichiers hiérarchique . Généralement, un chemin d'accès est composé de noms de répertoires, de spécificateurs de format spéciaux et, éventuellement, d'un nom de fichier , le tout séparé par des délimiteurs . Ce délimiteur peut varier selon le système d'exploitation, mais les systèmes modernes courants utilisent la barre oblique inverse (/) , la barre oblique inversée (\ ) ou le deux-points (:) .La sensibilité à la casse des différents éléments d'un chemin d'accès varie selon le système d'exploitation ou les options spécifiées lors de la création ou de la première utilisation du système de fichiers . Concrètement, cela signifie que sur un système sensible à la casseinsensible à la casse , ce n'est pas possible (une erreur se produira). Les systèmes de fichiers natifs de macOS et Windows sont insensibles à la casse par défaut, contrairement aux systèmes de fichiers Linux classiques.

Un chemin peut être relatif ou absolu . Un chemin relatif est un chemin par rapport à un autre, le plus souvent le répertoire de travail . Un chemin absolu indique un emplacement indépendamment du répertoire courant ; autrement dit, il spécifie tous les composants du chemin à partir de la racine du système de fichiers et ne dépend pas du contexte, contrairement à un chemin relatif.

Les chemins sont également essentiels pour localiser les ressources réseau organisées hiérarchiquement, comme on le voit dans les URL et les chemins UNC .

Histoire

Multics a introduit pour la première fois un système de fichiers hiérarchique avec des répertoires (séparés par >") au milieu des années 1960.

Aux alentours de 1970, Unix a introduit la barre oblique À l'origine, MS-DOS ne prenait pas en charge les répertoires. Lors de l'ajout de cette fonctionnalité, l'utilisation de la barre oblique (/) comme convention Unix n'était pas envisageable, car de nombreuses commandes existantes l'utilisaient déjà comme préfixe (par exemple, `\\ Windows . Cependant, certains composants de Windows acceptent également les barres obliques de style Unix, comme PowerShell .

Résumé des systèmes

Le tableau suivant décrit la syntaxe des chemins d'accès dans les principaux systèmes d'exploitation :uxFile = fopen ( "project/readme.txt" , "r" ) // Échec sous Windows winFile = fopen ( "C: \\ Program Files \\ bin \\ config.bat" , "r" ) // Échec sous Unix

  • En Java , le champ
    import java.io.File ; import java.nio.file.Path ; import java.nio.file.Paths ; // ... File file = new File ( "path" + File . separator + "file.txt" ); Path path = Paths . get ( "path" , "file.txt" );
    • En Python , le
      from pathlib import Pathavec ( Chemin ( "chemin" ) / "vers" / "fichier.txt" ) . ouvrir () comme ouvrir_fichier : ...

      Sous Unix

      La plupart des systèmes de type Unix utilisent une syntaxe similaire. POSIX permet de traiter un chemin commençant par deux barres obliques d'une manière définie par l'implémentation, bien que dans d'autres cas, les systèmes doivent traiter les barres obliques consécutives comme une seule.

      De nombreuses applications sur les systèmes de type Unix (par exemple, scp , rcp et rsync ) utilisent des définitions de ressources telles que URI avec le nom du service (ici ' smb '), comme

      Sous macOS

      Lors du développement de macOS , certains choix de noms de chemins d'accès ont été hérités de Mac OS classique et de NeXTSTEP (système de type Unix ). Mac OS classique utilise le caractère « / », tandis que Unix et les systèmes de type Unix utilisent le caractère « / » comme délimiteur de chemin. Afin de préserver la compatibilité logicielle et la familiarité des utilisateurs, et de permettre l'utilisation des mêmes systèmes de fichiers par Mac OS classique et macOS, certaines parties de macOS effectuent une conversion entre les deux-points et les barres obliques dans les noms de chemins ; par exemple, le système de fichiers HFS+ de Mac OS classique convertit les deux-points en barres obliques et, lors de la lecture d'un répertoire, convertit les barres obliques en deux-points, et la boîte à outils Carbon convertit les deux-points en barres obliques et les barres obliques en deux-points, puis les reconvertit lors de la transmission des noms de fichiers et des chemins à l'appelant.

      Sous DOS et Windows

      Capture d'écran de l' invite de commandes Windows affichant les noms de fichiers dans un répertoire
      PS C :\> Get-Content -Path "C:/chemin/vers/fichier.txt"Voici du texte contenu dans un fichier

Erreur de caractère Yen/won

La convention d'appellation universelle Microsoft ( UNC , convention d'appellation uniforme ou chemin réseau ) est une syntaxe permettant de décrire l'emplacement d'une ressource réseau, telle qu'un fichier partagé, un répertoire ou une imprimante. Un chemin UNC a la forme générale suivante :

\\NomOrdinateur\DossierPartagé\Ressource

Certaines interfaces Windows autorisent ou exigent la syntaxe UNC pour l'accès au partage WebDAV , plutôt qu'une URL. La syntaxe UNC est étendue avec des composants optionnels pour indiquer l'utilisation de SSL et le numéro de port TCP/IP. Ainsi, l'URL WebDAV de Lorsqu'il est consulté à distance, le dossier partagé peut avoir un nom différent de celui qu'un programme sur le serveur voit lorsqu'il ouvre « \\SharedFolder ». En réalité, le nom du dossier partagé correspond à un nom arbitraire attribué lors de la création du partage.

Comme les chemins UNC commencent par deux barres obliques inverses, et que cette barre oblique inverse est également utilisée pour les séquences d'échappement et dans les expressions régulières , des problèmes de compatibilité peuvent survenir. Une chaîne échappée pour une expression régulière correspondant à un chemin UNC commence par 8 barres obliques inverses, des chaînes brutes , comme @"\\\\"en C#, en Python ou en Perl .r'\\\\'qr{\\\\}

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index