Next: L'option -.-
Up: Les commandes de base.
Previous: Archivages et sauvegardes.
Table des matières
5.18 Le PATH où les commandes sont recherchées.
Toute commande saisie derrière l'invite (shell
prompt) se trouve dans un répertoire. Sous UNIX, les commandes
(ou programmes
exécutables) sont enregistrées parmi quatre répertoires . L'emplacement
est déterminé par le type de la commande plutôt que par le paquet
logiciel auquel elle appartient. Par exemple, dans le cas d'un traitement
de texte, l'exécutable peut être stocké dans un répertoire avec d'autres
exécutables totalement différents alors que ses fichiers de polices
de caractères sont dans un répertoire avec les polices d'autres paquets
logiciels.
Le shell a une technique de recherche des exécutables invoqués à la
ligne de commande. Si vous tapez, par exemple, /bin/cp,
le shell essaye d'exécuter le programme cp
à partir du répertoire /bin. Si vous tapez
seulement cp, le shell essaye de trouver
la commande cp dans chaque sous-répertoire
de votre PATH. Pour visualiser ce qu'est
votre PATH, essayez:
Vous verrez une ligne de plusieurs répertoires séparés par des caractères
: (double-point).
/bin:/usr/bin:/usr/local/bin Notez que le répertoire courant . n'est
pas affiché. Il est fondamental que le répertoire courant ne soit
pas dans le PATH pour des raisons de sécurité.
Ceci fait que pour exécuter une commande dans le répertoire courant,
il est nécessaire de faire: ./<commande>.
Pour ajouter un nouveau répertoire à votre PATH
(imaginons, par exemple, /opt/gnome/bin),
faites:
PATH="$PATH:/opt/gnome/bin"
export PATH
|
LINUX permet de réaliser l'opération en une seule étape:
export PATH="$PATH:/opt/gnome/bin"
|
Il y a une commande supplémentaire, which,
permettant de vérifier qu'une commande est localisable via le PATH.
Parfois, il y a deux commandes de même nom dans différents répertoires
contenus dans le PATH. [Ceci
est plus fréquent sur Solaris que sur LINUX].
L'exécution de which <commande> à l'invite
permet de localiser la commande que votre shell exécutera. Essayez:
which ls
which cp mv rm
which which
which cranzgots
|
which est aussi utile dans les scripts
de shell pour révéler si une commande existe, et par conséquent, pour
vérifier si un paquet logiciel est installé. Par exemple, which
netscape.
Next: L'option -.-
Up: Les commandes de base.
Previous: Archivages et sauvegardes.
Table des matières
1-01-2006