Le PATH - Freyens
Home Informatique Projets CV WOT Mmm J'aime Coup de gueule Famille Web Radio Belge B&M Art-NFT

C'est une pub! Ce thême est basé sur w3 css.

Oui vous êtes capable de modifier ce thême

Cool? Oui, avec plein d'exemples faciles à comprendre et à modifier.

Aller sur W3.CSS Tutorial c'est en anglais mais google peux traduire les pages.

Le PATH

La curiosité n’est pas un vilain défaut mais une qualité fondamentale.

< ^ >

Il faut bien faire la différence entre un chemin relatif et un chemin absolu. Pour cela, nous allons prendre le cas où l'on désire lancer un exécutable nommé "aterm" et que l'on se situe dans le dossier /usr. Nous allons voir un peu plus loin comment se présente le "shell", pour le moment retenez juste que le shell est représenté par le caractère "$", donc il n'est pas à taper dans tous les exemples qui vont suivre. Les lignes ne contenant pas le caractère "$" sont les résultats des commandes.

Le chemin absolu est le chemin complet en partant de la racine, plus le nom de l'exécutable :

/usr/bin/aterm

Le chemin relatif est le chemin complet de l'exécutable mais en partant du dossier courant, ici on se trouve dans le dossier /usr :

bin/aterm

Si l'on se trouvait dans un sous-dossier de /usr/bin, prenons par exemple le dossier "X11/", on pourrait exécuter "aterm" en tapant :

./../aterm

Le problème c'est qu'il faut tout de même taper à chaque fois le chemin complet, ce qui peut s'avérer très embêtant à la longue. C'est pour éviter cela que Linux utilise une variable d'environnement appelée PATH. Cette variable est définie pour tous les utilisateurs dans le fichier /etc/profile qui est uniquement modifiable par le superutilisateur (root). Les fichiers .profile et .bash_profile pouvant se trouver dans le dossier personnel de chaque utilisateur (ex. : /home/papi), permettent aux utilisateurs de personnaliser leur profile. Si les 2 fichiers sont présents dans le dossier d'un utilisateur, .bash_profile est prioritaire, donc profile sera ignoré.

La variable PATH

La variable $PATH contient plusieurs chemins qui indiqueront au shell où il devra aller chercher les commandes à exécuter. Ce qui évite de taper le chemin complet à chaque fois que l'on désire lancer un programme. $PATH fait partie des variables d'environnement.

Commande Description

echo $PATH

Affiche la variable $PATH.

env

Affiche les variables d'environnement.

Exemple :

echo $PATH
/usr/local/bin:/usr/bin:/usr/bin/X11

Donc dans le cas ci-dessus, quand l'utilisateur tapera une commande sans indiquer son chemin, Linux recherchera en premier dans le dossier /usr/local/bin, ensuite dans /usr/bin et pour finir, dans /usr/bin/X11. Si jamais l'utilisateur veut rajouter un dossier dans la variable PATH, il lui suffira de taper :

PATH=$PATH:/home/papi/bin
echo $PATH
/usr/local/bin:/usr/bin:/usr/bin/X11:/home/papi/bin

Exécuter un programme

Il existe trois manières différentes pour exécuter un programme sous Linux.
La première est en indiquant le chemin complet de l'exécutable :

/bin/ls

Va exécuter la commande "ls" se trouvant dans le dossier /bin.

La deuxième nécessite un "./" devant le nom de notre fichier à exécuter.
Par exemple, si nous nous trouvons dans le dossier /bin :

./ls

Si je me trouve dans un dossier où "ls" n'est pas présent, même si "ls" se trouve dans un des dossiers de la variable PATH, la commande ne sera pas exécutée. Donc en mettant un "./" devant le nom de la commande, celle-ci sera exécutée à partir du dossier courant sans utiliser la variable PATH.

La dernière manière est en tapant tout simplement le nom de la commande :

ls

Dans le cas, la commande est recherchée dans un des dossiers définis dans la variable PATH mais pas dans le dossier courant . Si la commande "ls" se trouve dans un des dossiers de la variable PATH, "ls" sera exécuté là où l'on se trouve.

< ^ >