LPI
Exam 101
103.1 Ligne de commande
1
103.1 Domaines de connaissances
Poids : 4
Utilisation de la ligne de commande
Modification de l'environnement d'ex cution du shell : variables
Historique des commandes
Ex cution de commandes : dans et hors des chemins d finis
dans la variable d'environnement PATH
UPMC FP Pr paration LPI - v1.1
2
103.1 shell bash
Commandes internes et externes
Les commandes internes font partie du shell (builtin
commands) :
pas de fichier ex cutable correspondant
Les commandes externes ... c'est l'ensemble des
programmes de votre syst me
... mais il existe des commandes internes et externes qui
portent le m me nom : echo
Comment reconna tre le type d'une commande
type a commande
$ type cd
cd is a shell builtin
$ type more
more is /bin/more
UPMC FP Pr paration LPI - v1.1
$ type a echo
echo is a shell builtin
echo is /bin/echo
3
103.1 shell bash
Le shell ( coquille ) est un programme qui permet la saisie et
l'interpr tation de ce qui est tap . C'est l'interface entre le
syst me et l'utilisateur.
Ici pas d'interface graphique : l'interaction utilisateur se fait par
l'interm diaire de mots frapp s au clavier
C'est la fois...
Un interpr teur de commandes (un programme qui boucle en
attente des commandes utilisateur)
Un langage de programmation (interpr t ) offrant les
structures de base comme tout autre langage
Sous Unix, le shell est un programme au m me titre qu'un
autre. On peut donc changer de shell si besoin.
UPMC FP Pr paration LPI - v1.1
4
103.1 shell bash
shells les plus r pandus :
sh (bourne shell) : disponible sur toute plate forme Unix
bash (bourne Again shell) : Distribu sur la majeure partie
des Linux; version am lior e de sh et csh
ksh (korn shell) : Bourne shell am lior par AT&T
csh (C shell) : shell d velopp pour BSD
Tcsh (Tom's C shell) : variante du C chell
Sur les Linux r cents
Lien symbolique : /bin/sh > /bin/bash
Un shell est associ par d faut chaque utilisateur. Il est d finit
dans le fichier /etc/passwd
UPMC FP Pr paration LPI - v1.1
5
103.1 shell bash
La liste des shells valides sur un syst mes est stock e dans le
fichier /etc/shells
La commande chsh permet de modifier le shell par d faut d'un
utilisateur
/bin/nologin : commande refusant la connexion d'un
utilisateur lorsqu'elle remplace son shell par d faut.
Le message d'information standard peut tre remplac par le
contenu du fichier /etc/nologin.txt si ce fichier existe.
$ cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
UPMC FP Pr paration LPI - v1.1
6
103.1 shell bash
Tous les shells se pr sentent sous la m me forme :
une cha ne de caract res affiche que le shell attend que
l'utilisateur tape une commande au clavier : le prompt
Par convention
$ : identifie un utilisateur standard
# : identifie une session root
un curseur qui va se d placer au fur et mesure de la saisie
des commandes
Prompt
UPMC FP Pr paration LPI - v1.1
Curseur d'insertion
7
103.1 shell bash
La composition du prompt est g r e via des variables
d'environnement
PS1 : prompt par d faut
PS2 : prompt affich lorsque la ligne de commande continue
sur la ligne suivante (souvent '>')
PS3 : prompt affich lors d'une boucle select d'un script shell
PS4 : prompt utilis lorsque le shell est en mode debug
(souvent : '+')
Utilisation de s quences d' chappement pour modifier ces
variables (extrait)
\d : date
\h et \H : nom de machine (avec et sans nom de
domaine)
UPMC FP Pr paration LPI - v1.1
8
103.1 shell bash
....
\u : nom utilisateur
\w et W\ : r pertoire courant et basename
\$ : # pour root et $ pour les autres utilisateurs
\n : newline
$ echo $PS1
[\u@\h \W]\$
$ PS1="Mon prompt\
$"
Mon prompt$
$ echo "Commande qui se poursuit \
> sur la seconde ligne"
Commande qui se poursuit sur la seconde ligne
UPMC FP Pr paration LPI - v1.1
9
103.1 shell bash
commande unix = un ensemble de mots s par s par des
caract res blancs (white spaces) :espace, tabulation
premier mot : nom de la commande
reste des mots : param tres de la commande
parmis ces param tres, les options, modifient le comportement
de la commande
format d'une commande type :
$ commande parametres
les crochets [ et ] encadrent les l ments facultatifs de la
commande
les crochets ne doivent pas appara tre dans la ligne de
commande
UPMC FP Pr paration LPI - v1.1
10
103.1 shell bash
La syntaxe pour sp cifier une option a t d finie dans le
programme de la commande
Il existe pourtant des notations que l'on retrouve dans la plupart
des commandes (mais il existe des exceptions)
une option est introduite par le signe et est souvent constitu e d'une
lettre
$ cp r v source dest
l'ordre des options n'a pas d'importance et on peut les cumuler
$ ls a l = $ ls l a = $ ls al
les options constitu e d'un mot entier sont souvent introduite par le
signe
$ urpmi auto update
UPMC FP Pr paration LPI - v1.1
11
103.1 shell bash
Erreur classique : oubli de l'espace entre la commande, les
options et les param tres
le shell ne reconna t pas la commande et affiche un
message d'erreur
les param tres ou options ne sont pas valides pour la
commande : la commande affiche une erreur
r sultat inattendu de la commande
$ ls al
total 6011
drwxr xr x 63 franck franck 3072 mar 7 21:33 ./
drwxr xr x 6 root root 1024 f v 20 12:30 ../
rw rw r 1 franck franck 95684 d c 13 16:57 24488
linuxevolution.tar.bz2
.....
$ ls al
bash: ls al: command not found
UPMC FP Pr paration LPI - v1.1
12
103.1 Historique des commandes
Historique des commandes
Chaque commande valid e est enregistr e
chronologiquement avant son interpr tation et
Advertisement
substitutions
Fonctionnalit du shell activ e par d faut :
set o history
A la sortie du shell, les commandes sont crites dans le
fichier .bash_history
Par d faut, le shell enregistre 1000 commandes
Param trable via la variable HISTSIZE
UPMC FP Pr paration LPI - v1.1
13
103.1 Historique des commandes
bash peut rechercher et rappeler (et ex cuter !) des
commandes d j saisies gr ce aux fl ches de navigation
et
: rappelle la commande pr c dente (dans l'ordre
chronologique)
: rappelle la commande suivante (dans l'ordre
chronologique)
!! : rappelle la derni re commande
!cha ne : rapelle la derni re commande d butant par
cha ne
!?cha ne : rapelle la derni re commande contenant
cha ne
! n : rappelle la ni me derni re commande
!n : rappelle la ni me commande
UPMC FP Pr paration LPI - v1.1
14
103.1 Historique des commandes
Int r ts :
Gain de temps et vite les erreurs de saisie en particulier
pour les commandes longues
Effet m moire des commandes saisies sur une machine
history | grep mount
Commande history : affiche l'historique complet des
commandes
history N : affiche les N derni res commandes
history d num ligne : efface la ligne la position
num ligne
history a : met jour le fichier .bash_history
UPMC FP Pr paration LPI - v1.1
15
103.1 Historique des commandes
$ history a
$ tail 5 .bash_history
echo $HISTORY
echo $HISTSIZE
history 5
tail 5 .bash_history
history a
$ history 5
1002 ls
1003 history 5
1004 echo $HISTORY
1005 echo $HISTSIZE
1006 history 5
$ tail 5 .bash_history
exit
uname a
exit
UPMC FP Pr paration LPI - v1.1
16
103.1 shell bash
$ ls c*.txt
centre2.txt centre3.txt centre4.txt centre.txt
$ !!
ls c*.txt
centre2.txt centre3.txt centre4.txt centre.txt
$ !ls
ls c*.txt
centre2.txt centre3.txt centre4.txt centre.txt
$ !ls:s/txt/py/
ls c*.py
centre1.py centre2.py centre3.py check.py clean.py colorcal.py
UPMC FP Pr paration LPI - v1.1
17
103.1 Raccourcis
Quelques raccourcis utiles (mode emacs)
+ : positionne le curseur au d but de la commande
+ : positionne le curseur la fin de la commande
+ : positionne le curseur au d but du mot suivant
+ : positionne le curseur au d but du mot pr c dant
+ : inverse deux lettres
+ : efface (coupe) la ligne
+ : efface (coupe) de la position courante jusqu' la fin
de ligne
+ : colle le texte coup
UPMC FP Pr paration LPI - v1.1
18
103.1 Raccourcis
Navigation dans la commande
Utiliser les fl ches de navigation et pour d placer
le curseur d'insertion dans la ligne de commande
Edition de la commande
: supprime la caract re pr c dent le curseur
d'insertion
: supprime la caract re suivant le curseur d'insertion
UPMC FP Pr paration LPI - v1.1
19
103.1 shell bash
Commande exec
Ex cute le programme pass en param tre et quitte
imm diatement (en fait remplace le processus en cours) le
programme appelant
Si appel depuis un script shell : arr t imm diat du script
$ echo $$
5116
$ bash
$ echo $$
5597
$ exec bash
$ echo $$
5597
$ exit
exit
$ echo $$
5116
UPMC FP Pr paration LPI - v1.1
20
103.1 shell bash
Commande source
Permet d'ex cuter un script dans le processus courant. Cela
permet de conserver les affectations ou modifications de
variables valides dans le processus courant.
Deux syntaxes (commandes source ou . )
. /opt/appli/etc/config.sh
source /opt/appli/etc/config.sh
UPMC FP Pr paration LPI - v1.1
21
103.1 shell bash
Commande echo
Affiche les arguments pass s en param tre sur la sortie
standard
Options
n : pas de newline
e : interpr tation des caract res d' chappement
\n : newline
\b : backspace
\t : tabulation horizontale
UPMC FP Pr paration LPI - v1.1
22
103.1 shell bash
Commande uname
Affiche les informations sur la version de noyau et le syst me
en cours d' x cution
Options
a : affiche tout
s : nom du noyau
r : release du noyau
v : version du noyau
m : nom de la machine (CPU)
o : nom de l'OS
i : plateforme mat rielle
p : processeur
UPMC FP Pr paration LPI - v1.1
23
103.1 shell bash
$ uname a
Linux port 135.ipsl.jussieu.fr 2.6.30.5 43.fc11.i686.PAE #1 SMP Thu Aug 27
21:34:36 EDT 2009 i686 i686 i386 GNU/Linux
$ uname s
Linux
$ uname v
#1 SMP Thu Aug 27 21:34:36 EDT 2009
$ uname r
2.6.30.5 43.fc11.i686.PAE
$ uname m
i686
$ uname o
GNU/Linux
$ uname i
i386
$ uname p
i686
UPMC FP Pr paration LPI - v1.1
Advertisement
24
103.1 shell bash
tabulation, espace : d limiteurs des lements d'une commande
retour chariot : fin et demande d'ex cution de la commande
; : s parateur de commandes sur une seule ligne
( ) : ex cution de commande dans un sous shell
{ } : ex cution des commandes en s rie
& : lancer une commande en arri re plan
' , " , \ : quote characters, alt rent la mani re dont le
shell interpr te les caract res sp ciaux
< , > , << , >> , | : redirections des entr es sorties
* , ? , [ ] , [^] : expansion des noms de fichiers
$ : valeur d'une variable
UPMC FP Pr paration LPI - v1.1
25
103.1 shell bash
; permet de lancer plusieurs commandes sur la m me ligne
utile pour grouper plusieurs commandes dans un sous shell
$ date;ls exemple.txt
mer mar 28 23:24:06 CEST 2007
exemple.txt
$ (ls ; whoami ; id ) > result.txt
UPMC FP Pr paration LPI - v1.1
26
103.1 shell bash
( ) : d limitent un bloc de commandes ex cut es dans
un sous shell
$ pwd ; (cd rep; pwd) ; pwd
/home/franck/UNIX
/home/franck/UNIX/rep
/home/franck/UNIX
UPMC FP Pr paration LPI - v1.1
27
103.1 shell bash
' : (apostrophe single quote) le shell n'interpr te aucun
caract re sp cial pour tout les texte encadr par deux
apostrophes
'' : (guillemet double quote) le shell n'interpr te aucun
caract re sp cial pour tout les texte encadr par deux
guillemets l'exception de $ , ` et \ .
\ : (antislash backslash) le shell n'interpr te pas le
caract re sp cial sui suit imm diatement l'antislash.
UPMC FP Pr paration LPI - v1.1
28
103.1 shell bash
Exemples :
$ echo un deux
un deux
$ echo "un deux"
un deux
$ echo 'un deux'
un deux
$ echo "aujourd'hui"
aujourd'hui
$ echo aujourd\'hui
aujourd'hui
$ echo aujourd'hui
> '
aujourdhui
UPMC FP Pr paration LPI - v1.1
29
103.1 shell bash
Exemples :
$ echo '"today"'
"today"
$ echo "today"
today
$ echo '"'
"
$ echo "'"
'
$ echo $HOME
/home/franck
$ echo "$HOME"
/home/franck
$ echo '$HOME'
$HOME
$ echo "\$HOME"
$HOME
$ echo '\$HOME'
\$HOME
UPMC FP Pr paration LPI - v1.1
30
103.1 shell bash
Exemples :
$ find . \( name '*.jpg' o name
'*.jpeg' \) atime +7 exec rm {} \;
$ echo trois\>deux
trois>deux
Seul le caract re sp cial '>' n'est pas
interpr t
$ echo "la variable \$HOME
contient
> mon rep perso : $HOME"
la variable $HOME contient
> mon rep perso : /home/franck
UPMC FP Pr paration LPI - v1.1
31
103.1 shell bash
Fichiers d'initialisation du shell bash
Il existe en fait plusieurs modes d'ex cution du shell
shell de login : shell lanc par la commande login
shell interactif : les commandes sont saisies au terminal
shell non interactif : les commandes sont lues et ex cut es
partir d'un fichier
En fonction du mode d'ex cution du shell, des fichiers
d'initialisation du shell seront ex cut s ou non
shell de login interactif :
ex cution de /etc/profile
ex cution du premier fichier parmi
$HOME/.bash_profile ,
$HOME/.bash_login , $HOME/.profile
UPMC FP Pr paration LPI - v1.1
32
103.1 shell bash
shell non de login interactif ou non interactif:
ex cution de $HOME/.bashrc
$HOME/.bashrc peut faire appel au fichier
/etc/bashrc commun tous les utilisateurs
pour modifier le comportement du shell pour tous les
utilisateurs on modifie les fichiers /etc/bashrc et
/etc/profile
pour modifier le comportement du shell pour chaque
utilisateur on modifie les fichiers d'initialisation localis s dans
le r pertoire home
UPMC FP Pr paration LPI - v1.1
33
103.1 shell bash
Application : modifier de fa on permanente la variable PATH et
ajouter le chemin $HOME/bin
ajout dans le fichier $HOME/.bash_profile
PATH=$PATH:$HOME/bin
Quand le shell de login se termine
execution de le $HOME/.bash_logout
UPMC FP Pr paration LPI - v1.1
34
103.1 shell bash
Pour simplifier
/etc/profile : valable pour tous les utilisateurs;
ex cut au login. Contient g n ralement les variables
d'environnement, PATH, programmes au d marrage
/etc/bashrc : valable pour tous les utilisateurs;
appel depuis les fichiers .bashrc de chaque
utilisateur; contient les fonctions et alias
$HOME/.bash_profile ,
$HOME/.bash_login , $HOME/.profile :
sp cifique chaque utilisateur; ex cut au login; ex cution
de l'un des trois
$HOME/.bashrc : sp cifique chaque utilisateur;
ex cution au login ou non (interactif ou non)
UPMC FP Pr paration LPI - v1.1
35
103.1 Variables d'environnement
G n ralit s
Les variables d finies dans un shell sont d finies et
accessibles uniquement pour ce shell
la commande set affiche la liste des variables d finies
dans la session shell
Par convention les variables sont crites en majuscules
Les noms de variables sont sensibles la casse
Attention l'interpr tation par le shell du caract re $ en
fonction de l'utilisation des apostrophes ou guillemets
Un nom de variable doit tre compos uniquement de
caract re alphanum riques et du caract re undescore : _
UPMC FP Pr paration LPI - v1.1
36
103.1 Variables d'environnement
Affectation
variable=valeur
Attention l'erreur classique : pas d'espaces dans une
commande d'affectation ( l'espace est un m tacaract re qui
poss de une signification pr cise pour le shell)
$ VAR=valeur
$ VAR =valeur
bash: VAR: command not found
Advertisement
$ VAR= valeur
bash: valeur: command not
found
$ VAR = valeur
bash: VAR: command not found
UPMC FP Pr paration LPI - v1.1
37
103.1 Variables d'environnement
Consultation du contenu d'un variable
$variable
${variable}
$ echo $VAR
$
VAR=valeur
$ echo $VAR
valeur
Suppression d'une variable
unset variable
$ echo $VAR
valeur
$ unset VAR
$ echo $VAR
UPMC FP Pr paration LPI - v1.1
38
103.1 Variables d'environnement
Utilisation des parenth ses : permet d'ajouter au contenu d'un
variable une suite de caract res.
Le shell identifie un nom de variable comme tant une suite de
caract res termin es par un espace
$ echo $VAR1
Lpi
$ echo $VAR1_2010
$ echo ${VAR1}_2010
lpi_2010
UPMC FP Pr paration LPI - v1.1
39
103.1 Variables d'environnement
Port e des variables
Par d faut, le contenu des variables ne sont pas accessibles
depuis les commandes lanc es depuis le shell
$ VAR=valeur
$ echo $VAR
valeur
$ bash
$ echo $VAR
$ exit
exit
$ echo $VAR
valeur
les exemples suivants utilisent le shell comme application mais les principes restent
identiques pour n'importe quelle application
UPMC FP Pr paration LPI - v1.1
40
103.1 Variables d'environnement
Port e des variables
Solution : utiliser la commande export
Attention : le param tre de export est bien le nom de la
variable (VAR) et non son contenu ($VAR)
$ echo $VAR
valeur
$ export VAR
$ bash
$ echo $VAR
valeur
$ echo $VAR
valeur
$ exit
exit
UPMC FP Pr paration LPI - v1.1
41
103.1 Variables d'environnement
Attention ! les variables h rit es ne sont pas modifiables
les variables sont dupliqu es au lancement d'une application
$ echo $VAR
valeur
$ export VAR
$ bash
$ echo $VAR
valeur
$ VAR=aoi
$ echo $VAR
aoi
$ exit
exit
$ echo $VAR
valeur
UPMC FP Pr paration LPI - v1.1
42
103.1 Variables d'environnement
Il est possible d'assigner et d'exporter une variable en une
seule commande
$ export VAR1=lpi
$ bash
$ echo $VAR1
lpi
UPMC FP Pr paration LPI - v1.1
43
103.1 Variables d'environnement
Liste des variables d'environnement standard
HOME : r pertoire utilisateur (home)
USER : login de l'utilisateur
SHELL : chemin du shell utilis
PATH : liste des r pertoires de recherche des commandes
TERM : type de terminal utilis
PWD : r pertoire courant
$ : process ID du processus courant (ne peut pas tre
modifi e)
? : code de retour de la derni re commande (ne peut pas
tre modifi e)
! : process ID du dernier processus en background
UPMC FP Pr paration LPI - v1.1
44
103.1 Variables d'environnement
$ echo $PWD
/home/franck
$ echo $$
3031
$ echo $?
0
$ ps edf | grep bash
franck 3031 3028 0 22:08 pts/0 00:00:00 bash
franck 4301 3031 0 23:40 pts/0 00:00:00 grep bash
UPMC FP Pr paration LPI - v1.1
45
103.1 Variables d'environnement
Commande env
Sans param tre, affiche les variables d'environnement
courantes. Permet galement d'ex cuter une commande dans
un environnement modifi .
Options
i : lance une commande dans un environnement vide
u : lance une commande en supprimant une variable de
l'environnement d'ex cution
UPMC FP Pr paration LPI - v1.1
46
103.1 Variables d'environnement
$ env
ORBIT_SOCKETDIR=/tmp/orbit franck
HOSTNAME=toto.jussieu.fr
IMSETTINGS_INTEGRATE_DESKTOP=yes
TERM=xterm
SHELL=/bin/bash
HISTSIZE=1000
$ env | wc l
46
$ env | grep SHELL
SHELL=/bin/bash
UPMC FP Pr paration LPI - v1.1
47
103.1 Variables d'environnement
$ env | grep VAR1
VAR1=lpi
$ env i bash
$ env | grep VAR1
$ man env
WARNING: terminal is not fully functional
$ env VAR2=examen bash
$ echo $VAR2
Examen
$ exit
$ echo $VAR2
UPMC FP Pr paration LPI - v1.1
48
103.1 Variables d'environnement
Commande set
Sans param tre, affiche les variables d'environnement
courantes ainsi que les fonctions.
Son utilisation habituelle consiste modifier (activer ou
d sactiver) les options d'ex cution du shell.
Pour activer une option : set f ou set o noglob
Pour d sactiver une option : set +f ou set + o noglob
La commande set dispose d'un grand nombre d'options
x : xtrace ou mode debug
Pour le reste :
http://www.gnu.org/software/bash/manual/html_node/The
Advertisement
Set Builtin.html
UPMC FP Pr paration LPI - v1.1
49
103.1 Variables d'environnement
La commande set dispose d'un grand nombre d'options. Entre
autres :
x : (xtrace) : affiche les commandes apr s les avoir
interpr t s. Permet de mettre en vidence le travail de
substitution (commandes, param tres) du shell
v : (verbose) : affiche les commandes avant de les
ex cuter
n : (noexec) : utilis pour v rifier la syntaxe de shell script.
Ignor pour les shell interactifs
f : (noglob) : d sactive le file globbing
UPMC FP Pr paration LPI - v1.1
50
103.1 Variables d'environnement
$ set v
echo ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo ne "\007"
$ ls
ls
env.txt fic1 fic2 fic3 fic4 ok.txt pas ok.txt set.txt
echo ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo ne "\007"
UPMC FP Pr paration LPI - v1.1
51
103.1 Variables d'environnement
$ set x
++ echo ne '\033]0;franck@machine:~/src/exo lpi'
$ VAR3=linux
+ VAR3=linux
++ echo ne '\033]0;franck@machine:~/src/exo lpi'
$ echo $VAR3
+ echo linux
linux
++ echo ne '\033]0;franck@machine:~/src/exo lpi'
$ kill HUP `cat /var/run/xinetd.pid
`++ cat /var/run/xinetd.pid
+ kill HUP 2070
bash: kill: (2070) Op ration non permise
++ echo ne '\033]0;franck@machine:~/src/exo lpi'
UPMC FP Pr paration LPI - v1.1
52
103.1 Path
On acc de un fichier travers son chemin dans
l'arborescence
le chemin est constitu d'une liste de noms de r pertoires et
se termine par le nom du fichier
le caract re / permet de s parer les diff rents r pertoires
qui constituent le chemin
/repertoire1/r pertoire2/fichier
UPMC FP Pr paration LPI - v1.1
53
103.1 Path
Chemin d'acc s absolu
C'est le chemin qui permet d'acc der un fichier et qui
commence par la racine de l'arbre
Un chemin absolu doit toujours commencer par /
exemple : /usr/include/sys/stat.h
UPMC FP Pr paration LPI - v1.1
54
103.1 Path
Chemin d'acc s relatif
C'est le chemin qui permet d'acc der un fichier et qui peut
commencer n'importe quel endroit de l'arbre except
la racine
Un chemin relatif est relatif la position de r f rence
(le r pertoire courant)
le r pertoire courant est not頫 .
le r pertoire parent du r pertoire courant est not頫 ..
UPMC FP Pr paration LPI - v1.1
55
103.1 Path
exemple 1 : depuis /usr/include/ , le chemin relatif du fichier
stat.h est sys/stat.h
UPMC FP Pr paration LPI - v1.1
56
103.1 Path
exemple 2 : depuis /usr/include/ , le chemin relatif du fichier
ls est ../../bin/ls
UPMC FP Pr paration LPI - v1.1
57
103.1 Path
Importance des critures . et ..
commande find pour lancer une recherche partir de
l'endroit courant
$ find . name fichier print
pour lancer une commande qui se trouve dans le r pertoire
courant
$ ./macommande
Comparaison Windows/Unix
Windows : plusieurs volumes C:, D: ; \ comme
s parateur de r pertoires
Unix : une arbre unique; / comme s parateur de
r pertoires
UPMC FP Pr paration LPI - v1.1
58
103.1 Path
PATH : liste des r pertoires de recherche des commandes
s par s par le caract re :
Parcours des r pertoires jusqu' trouver la commande en
question
Exemple : PATH=/bin:/usr/bin:/usr/local/bin
$ ls
recherche dans /bin si ls existe. Si oui ex cution,
sinon chemin suivant
recherche dans /usr/bin si ls existe. Si oui
ex cution, sinon chemin suivant etc....
si la commande n'est trouv e dans aucun chemin
command not found
UPMC FP Pr paration LPI - v1.1
59
103.1 Path
Pour modifier son PATH ( $HOME/bin par exemple)
$ PATH=$HOME/bin:$PATH
$ export PATH
$ PATH=$PATH:$HOME/bin
$ export PATH
Pour retirer un chemin il faut saisir compl tement les chemins
et les affecter la variable PATH
Ne pas mettre . dans son path
ex cuter la commande dans le r pertoire courant en la
pr c dant de ./ si la commande n'est trouv e dans
aucun chemin
$ ./monscript.sh
UPMC FP Pr paration LPI - v1.1
60
103.1 Path
Diff rence habituelle du contenu de la variable PATH entre un
utilisateur standard et root :
PATH de root contient les chemins /sbin, /usr/sbin,
/sur/local/sbin
Ce qui fait que
Sous l'identit de root, le shell trouve directement la
commande ifconfig
Sous l'identit d'un utilisateur standard, il faut lui donner le
chemin absolu de la commande (/sbin/ifconfig)
UPMC FP Pr paration LPI - v1.1
61
103.1 Path
Commande pwd
Affiche le chemin absolu du r pertoire courant (print working
directory)
Chemin pr sent galement dans la variable PWD
Changement de r pertoire courant avec la commande cd
cd chemin : chgmt vers chemin
cd ~ : chgmt vers le son r pertoire personnel
cd ~user1 : chgmt vers le r pertoire personnel de
l'utilisateur user1
cd : idem cd ~
cd : chgmt vers OLDPWD
UPMC FP Pr paration LPI - v1.1
62
103.1 Path
$ pwd
/home/franck/src/exo lpi
$ cd /etc
$ pwd
/etc
$ cd
/home/franck/src/exo lpi
$ echo $PWD
/home/franck/src/exo lpi
$ echo $OLDPWD
/etc
UPMC FP Pr paration LPI - v1.1
63
103.1 Conseils LPI
Attention la syntaxe exacte des commandes
UPMC FP Pr paration LPI - v1.1
64