| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| chemins [Le 28/11/2023, 17:05] – [Chemin relatif] 193.49.125.146 | chemins [Le 14/04/2026, 07:14] (Version actuelle) – màj lien interne krodelabestiole |
|---|
| {{tag>système bionic focal}} | {{tag>système bionic focal}} |
| |
| nn | ====== Les chemins d'accès sous Linux ====== |
| | |
| | En informatique, les contenus sont généralement stockés dans des fichiers. |
| | |
| | Comme ceux-ci sont vite très nombreux, pour s'y retrouver on a conçu les [[:systeme_de_fichiers|systèmes de fichiers]] comme des [[:arborescence|arborescences]] : les fichiers sont stockés dans des [[wpfr>répertoire (informatique)|répertoires]]((Windows et MacOS les appellent des //dossiers// ou //folders//. Ce sont des //répertoires// ou //directories// pour le reste du monde informatique.)), et en plus des fichiers chacun de ces répertoires peut lui-même contenir plusieurs autres répertoires. |
| | |
| | La référence à une ressource (fichier ou répertoire) s'appelle un [[wpfr>chemin d'accès]] (en anglais : //path//). Dans ce chemin, sous Linux, les noms des répertoires et éventuel fichier sont séparés par un //slash// ''/'' (alors qu'on utilise un //antislash// ''\'' sous Windows). |
| | |
| | Il existe deux types de chemin : //absolu// et //relatif//. |
| | |
| | <note tip>Sur **[[:nautilus|GNOME Fichiers]]**, on peut voir le chemin courant, ou en entrer un, avec le [[:nautilus#raccourcis clavier|raccourci clavier]] ''Ctrl''+''L''.</note> |
| | |
| | ===== Chemin absolu ==== |
| | |
| | <note> |
| | Dans les exemples suivants les termes entre caractères ''<'' et ''>'' sont à remplacer par les valeurs qu'ils indiquent, //avec les caractères ''<'' et ''>'' eux-mêmes//. |
| | </note> |
| | |
| | Un chemin absolu se base sur la [[:arborescence#racine]] de l'arborescence et commence par ''/'', par exemple : |
| | * ''/home/<nom d'utilisateur>/<autre répertoire>/<nom de fichier>'' pour la plupart des documents personnels. |
| | * ''/usr/share/icons/'' est le premier répertoire où le système cherche les [[:tutoriel:installer_theme_icones|icônes]] des applications. |
| | * ''/etc/apt/sources.list'' est le principal fichier de configuration d'[[:APT]]. |
| | Il reste valable quel que soit le contexte (à condition quand même d'être sur le même système d'une même machine). |
| | |
| | Cette [[:arborescence#racine]] ''/'' correspond à l'emplacement où le système Linux courant est installé.((Voir le //[[:montage|Montage des systèmes de fichiers]]//.)) |
| | <note tip>''/'' au tout début d'un chemin est donc à peu près l'équivalent du ''C:\'' sous Windows.</note> |
| | |
| | ===== Chemin relatif ==== |
| | |
| | Un chemin relatif est a priori relatif au répertoire courant où se trouve l'utilisateur. Un chemin qui commence par autre chose que ''/'' ou ''~'' est un chemin relatif. Cette notion de positionnement dépend du contexte, mais sous Linux on se trouve généralement par défaut dans son [[:arborescence#répertoire personnel]] qui est ''/home/<nom d'utilisateur>''. Dans un [[:terminal]] on peut naviguer d'un répertoire à l'autre avec la commande [[:tutoriel:console_ligne_de_commande#cd|cd]]. |
| | |
| | On peut aussi utiliser ce type de chemin pour indiquer où se trouvent les ressources les unes par rapport aux autres, indépendamment de la [[:arborescence#racine]] du système, par ex. pour que les fichiers d'un site web susceptibles d'être déplacés ensemble puissent se retrouver les uns les autres. |
| | |
| | ===== Liens ===== |
| | |
| | On peut utiliser des [[:lien_physique_et_symbolique|liens physiques ou symboliques]] pour créer par ex. des raccourcis entre différents chemins. |
| | |
| | En particulier ''.'' utilisé comme un nom de répertoire indique le répertoire courant, et ''..'' indique le répertoire parent (il s'agit ici de [[http://teaching.idallen.com/dat2330/04f/notes/links_and_inodes.html|liens physiques]]). |
| |
| bhbh | |
| ujhb | |
| ===== Raccourcis Shell ===== | ===== Raccourcis Shell ===== |
| |
| //Tilde// ''~'' utilisé en premier nom de répertoire remplace le chemin absolu vers son répertoire personnel soit ''/home/utilisateur'' (voir [[http://www.gnu.org/software/bash/manual/html_node/Tilde-Expansion.html|Tilde Expansion]]), mais cette fonctionnalité est propre au [[:shell]], et pas au [[:systeme_de_fichiers|système de fichier]]. | //Tilde// ''~'' utilisé en premier nom de répertoire remplace le chemin absolu vers son [[:arborescence#répertoire personnel]] soit ''/home/utilisateur'' (voir [[http://www.gnu.org/software/bash/manual/html_node/Tilde-Expansion.html|Tilde Expansion]]), mais cette fonctionnalité est propre au [[:shell]], et pas au [[:systeme_de_fichiers|système de fichier]]. |
| |
| ===== Ressources cachées ===== | ===== Ressources cachées ===== |
| Généralement on peut aussi les afficher avec un gestionnaire de fichier graphique (par défaut sur Ubuntu : [[:nautilus|GNOME Fichiers - anciennement Nautilus]]) avec le raccourci //Ctrl// + //h// (pour //**h**idden//). | Généralement on peut aussi les afficher avec un gestionnaire de fichier graphique (par défaut sur Ubuntu : [[:nautilus|GNOME Fichiers - anciennement Nautilus]]) avec le raccourci //Ctrl// + //h// (pour //**h**idden//). |
| |
| <note>On trouve en particulier de nombreuses ressources cachées dans son répertoire personnel. L'idée est de cacher ici les répertoires et fichiers utilisés par le système, mais propres à l'utilisateur, pour donner une meilleure visibilité aux contenus documents ou médias de l'utilisateur.</note> | <note>On trouve en particulier de nombreuses ressources cachées dans son [[:arborescence#répertoire personnel]]. L'idée est de cacher ici les répertoires et fichiers utilisés par le système, mais propres à l'utilisateur, pour donner une meilleure visibilité aux contenus documents ou médias de l'utilisateur.</note> |
| |
| ===== Inodes ===== | ===== Inodes ===== |
| |
| Pour aller plus loin il faut savoir que chaque chemin vers un répertoire ou un fichier est en fait un [[:lien_physique_et_symbolique|lien physique]], et que chacun de ces liens pointe sur un [[:systeme_de_fichiers#particularite_des_systemes_de_fichiers_nixinode|inode]] qui décrit la ressource elle-même dans le système de fichier. L'inode décrit entre autre les [[:droits#les_permissions|permissions]], le [[:droits#les_proprietaires|propriétaire]], et les dates de création et modification de la ressource. | Pour aller plus loin il faut savoir que chaque chemin vers un répertoire ou un fichier est en fait un [[:lien_physique_et_symbolique|lien physique]], et que chacun de ces liens pointe sur un [[:systeme_de_fichiers#inodes|inode]] qui décrit la ressource elle-même dans le système de fichier. L'inode décrit entre autre les [[:droits#les_permissions|permissions]], le [[:droits#les_proprietaires|propriétaire]], et les dates de création et modification de la ressource. |
| |
| Voir cette [[wpfr>Nœud_d'index|page Wikipedia]] pour plus de détails. | Voir cette [[wpfr>Nœud_d'index|page Wikipedia]] pour plus de détails. |
| | |
| | ===== Commandes ===== |
| | |
| | En [[:commande_shell|ligne de commande]] il faut généralement échapper les espaces et caractères spéciaux des chemins.\\ |
| | On peut |
| | * soit précéder ces espaces de ''\'' afin de les //[[wpfr>Caractère_d'échappement|échapper]]// |
| | * soit encadrer l'ensemble du chemin entre guillemets simples ''%%'%%'' ou doubles ''"''. |
| | |
| | Voici quelques outils permettant de manipuler ou d'utiliser des chemins sous Linux : |
| | * La commande ''namei -l'' permet de lister les permissions de chaque élément d'un chemin. |
| | * ''[[wpfr>Pwd|$PWD]]'' (pour //Print Working Directory//) est la [[:variables_d_environnement#autres_variables_d_environnement|variable d'environnement]] qui représente le chemin du répertoire courant.\\ Vous pouvez l'utiliser pour remplacer le texte du chemin courant, par exemple :<code>namei -l $PWD</code>(pour lister les permissions de chaque élément du chemin du répertoire courant, donc ! ;-)) |
| |
| ===== Voir aussi ===== | ===== Voir aussi ===== |
| |
| * [[:arborescence|Arborescence des répertoires d’Ubuntu]] | * [[:arborescence|Arborescence des répertoires d'Ubuntu]] |
| * [[:tutoriel:console_ligne_de_commande|Console : ligne de commande]] | * [[:tutoriel:console_ligne_de_commande|Console : ligne de commande]] |
| * [[:systeme_de_fichiers|Les systèmes de fichiers sous Linux]] | * [[:systeme_de_fichiers|Les systèmes de fichiers sous Linux]] |