Introduction aux syst` emes informatiques
Laure Petrucci
IUT R&T Villetaneuse
17 septembre 2010
Plan du cours
1 Historique et g´en´eralit´es
2 Syst`emes de fichiers
3 Commandes Unix
4 Entr´ees/sorties et processus
5 Environnement utilisateur et scripts shell
Historique et g´en´eralit´es
1 Historique et g´en´eralit´es
Diff´ erentes g´ en´ erations Composants logiciels
2 Syst`emes de fichiers
3 Commandes Unix
4 Entr´ees/sorties et processus
5 Environnement utilisateur et scripts shell
Historique et g´en´eralit´es Diff´erentes g´en´erations
1
`ereg´ en´ eration (1950–1960) : exploitation porte ouverte
Mat´ eriel : tubes (peu fiable, lent, encombrant) Programmes ´ ecrits directement en langage machine
ENIAC (1946)
Historique et g´en´eralit´es Diff´erentes g´en´erations
2
`emeg´ en´ eration (1958–1968) : traitement par lots
Transistors, cicuits imprim´ es
Premiers p´ eriph´ eriques, cartes perfor´ ees, imprimantes, bandes Premiers syst` emes d’exploitation
UNIVAC (1954)
Historique et g´en´eralit´es Diff´erentes g´en´erations
3
`emeg´ en´ eration (1960–1970) : multi-programmation puis traitement partag´ e
Processeurs d’entr´ ees/sorties
Multi-programmation : plusieurs activit´ es progressent en parall` ele
Temps partag´ e : interactivit´ e
Historique et g´en´eralit´es Diff´erentes g´en´erations
4
`emeg´ en´ eration (1970–. . .) : r´ eseaux et syst` emes r´ epartis
1969 : premier microprocesseur
R´ eseaux
Historique et g´en´eralit´es Composants logiciels
Logiciels ex´ ecut´ es
Applications : Outils achet´ es ou d´ evelopp´ es pour des besoins sp´ ecifiques Logiciels de base : Services adapt´ es ` a la r´ esolution de probl` emes usuels :
Outils : ´ editeurs de texte, compilateurs, . . . Services : gestionnaires de donn´ ees, fenˆ etres, communications, . . .
Syst` eme d’exploitation : chargement et lancement des programmes, gestion du processeur, des p´ eriph´ eriques, . . .
Exemples de syst` emes d’exploitation :
Windows,
UnixHistorique et g´en´eralit´es Composants logiciels
Interactions entre composants
mat´ eriel
syst` eme d’exploitation services outils applications
6? 6
? 6
?
?
Historique et g´en´eralit´es Composants logiciels
Historique d’ Unix
cr´ e´ e aux laboratoires Bell (USA) en 1969.
but : gestion d’un mini-ordinateur pour une petite ´ equipe de programmeurs.
int´ eresse rapidement universit´ es puis constructeurs.
nombreuses versions : Linux, AIX, HPIX, SPIX, . . . de nos jours :
respect de lanorme POSIX⇒compatibilit´e.
interface graphique⇒convivialit´e.
syst` eme multi-tˆ aches, multi-utilisateurs
Syst`emes de fichiers
1 Historique et g´en´eralit´es
2 Syst`emes de fichiers
Fichiers et r´ epertoires Structure arborescente Adressage des fichiers
Commandes de manipulation des fichiers M´ eta-caract` eres
Montage de disques Protection des fichiers Repr´ esentation des fichiers
3 Commandes Unix
4 Entr´ees/sorties et processus
Environnement utilisateur et scripts shell
Syst`emes de fichiers Fichiers et r´epertoires
Fichiers et r´ epertoires
Les documents sur lesquels on travaille sont stock´ es dans des fichiers.
Les fichiers peuvent ˆ etre regroup´ es dans des dossiers (´ egalement appel´ es r´ epertoires ou catalogues).
L’ensemble des fichiers est stock´ e sur le disque selon une structure
arborescente.
Syst`emes de fichiers Structure arborescente
Structure arborescente
""""""""b bb
b bb
b b
""""""""
""""""""b bb
bb bb
b
%
%
%
%
%e e
e e
e
racine
nœud1 nœud2
nœud3
feuille1
feuille2 feuille3 feuille4
feuille5 feuille6
Syst`emes de fichiers Structure arborescente
Structure arborescente
""""""""b bb
b bb
b b
""""""""
""""""""b bb
bb bb
b
%
%
%
%
%e e
e e
e
racine
nœud1 nœud2
nœud3
feuille1
feuille2 feuille3 feuille4
feuille5 feuille6
Syst`emes de fichiers Structure arborescente
Structure arborescente
""""""""b bb
b bb
b b
""""""""
""""""""b bb
bb bb
b
%
%
%
%
%e e
e e
e
racine
nœud1 nœud2
nœud3
feuille1
feuille2 feuille3 feuille4
feuille5 feuille6
Syst`emes de fichiers Structure arborescente
Structure arborescente
""""""""b bb
b bb
b b
""""""""
""""""""b bb
bb bb
b
%
%
%
%
%e e
e e
e
racine
nœud1 nœud2
nœud3
feuille1
feuille2 feuille3 feuille4
feuille5 feuille6
Syst`emes de fichiers Adressage des fichiers
Noms des fichiers
Les noms des fichiers comportent souvent une extension : le nom se termine par un . suivi de quelques lettres (par exemple .txt).
Sous
Windows, l’extension indique au syst` eme le type du fichier : texte, fichier lisible par un logiciel particulier, . . .
Sous
Unix, l’extension sert principalement ` a l’utilisateur pour se souvenir
du type de fichier. Certains outils permettent d’associer une extension ` a
une application particuli` ere.
Syst`emes de fichiers Adressage des fichiers
R´ ef´ erence absolue
/
````````
usr home etc
````````
usager
PPP
PPP
durand dupont
essai.txt
/home/usager/durand/essai.txt
Syst`emes de fichiers Adressage des fichiers
R´ ef´ erence absolue
/
````````
usr home etc
````````
usager
PPP
PPP
durand dupont
essai.txt
/home/usager/durand/essai.txt
Syst`emes de fichiers Adressage des fichiers
R´ ef´ erence relative
R´ epertoire priv´ e (home directory)
R´ epertoire de travail (working directory)
R´ epertoire courant r´ ef´ erenc´ e par
.R´ epertoire p` ere r´ ef´ erenc´ e par
..Syst`emes de fichiers Adressage des fichiers
R´ ef´ erence relative
/
````````
usr home etc
````````
usager
PPP
PPP
durand dupont
essai.txt
../durand/essai.txt
Syst`emes de fichiers Adressage des fichiers
R´ ef´ erence relative
/
````````
usr home etc
````````
usager
PPP
PPP
durand dupont
essai.txt
../durand/essai.txt
Syst`emes de fichiers Commandes de manipulation des fichiers
Commandes de base
pwd
(print working directory)
pwd affiche la r´ ef´ erence absolue du r´ epertoire de travail.
cd
(change directory)
cd r´ef´erence r´epertoireLe r´ epertoire de travail devient celui dont la r´ ef´ erence est
r´ef´erence r´epertoire(r´ ef´ erence absolue ou relative).
ls
(list)
ls liste r´ef´erencesaffiche, pour tout fichier ordinaire dans
liste r´ef´erences, son nom, et pourtout r´ epertoire dans
liste r´ef´erences, son nom et son contenu.ls -l liste r´ef´erences
affiche ´ egalement des informations sur le fichier telles que sa taille, la date
de derni` ere modification, . . .
Syst`emes de fichiers Commandes de manipulation des fichiers
Commandes de base
pwd
(print working directory)
pwd affiche la r´ ef´ erence absolue du r´ epertoire de travail.
cd
(change directory) cd
r´ef´erence r´epertoireLe r´ epertoire de travail devient celui dont la r´ ef´ erence est r´ ef´ erence r´ epertoire (r´ ef´ erence absolue ou relative).
ls
(list)
ls liste r´ef´erencesaffiche, pour tout fichier ordinaire dans
liste r´ef´erences, son nom, et pourtout r´ epertoire dans
liste r´ef´erences, son nom et son contenu.ls -l liste r´ef´erences
affiche ´ egalement des informations sur le fichier telles que sa taille, la date
de derni` ere modification, . . .
Syst`emes de fichiers Commandes de manipulation des fichiers
Commandes de base
pwd
(print working directory)
pwd affiche la r´ ef´ erence absolue du r´ epertoire de travail.
cd
(change directory) cd
r´ef´erence r´epertoireLe r´ epertoire de travail devient celui dont la r´ ef´ erence est r´ ef´ erence r´ epertoire (r´ ef´ erence absolue ou relative).
ls
(list) ls
liste r´ef´erencesaffiche, pour tout fichier ordinaire dans liste r´ ef´ erences, son nom, et pour tout r´ epertoire dans liste r´ ef´ erences, son nom et son contenu.
ls -l
liste r´ef´erencesaffiche ´ egalement des informations sur le fichier telles que sa taille, la date
de derni` ere modification, . . .
Syst`emes de fichiers Commandes de manipulation des fichiers
D´ emo
Syst`emes de fichiers Commandes de manipulation des fichiers
Copie, renommage et suppression
cp
(copy) cp
ancien nouveaucopie le fichier de r´ ef´ erence ancien dans un fichier de r´ ef´ erence nouveau.
mv
(move)
mv ancien nom nouveau nom
attribue au fichier de r´ ef´ erence
ancien nomla r´ ef´ erence
nouveau nom.rm
(remove)
rm liste r´ef´erencessupprime toutes les r´ ef´ erences dans
liste r´ef´erences.Syst`emes de fichiers Commandes de manipulation des fichiers
Copie, renommage et suppression
cp
(copy) cp
ancien nouveaucopie le fichier de r´ ef´ erence ancien dans un fichier de r´ ef´ erence nouveau.
mv
(move)
mv
ancien nom nouveau nomattribue au fichier de r´ ef´ erence ancien nom la r´ ef´ erence nouveau nom.
rm
(remove)
rm liste r´ef´erencessupprime toutes les r´ ef´ erences dans
liste r´ef´erences.Syst`emes de fichiers Commandes de manipulation des fichiers
Copie, renommage et suppression
cp
(copy) cp
ancien nouveaucopie le fichier de r´ ef´ erence ancien dans un fichier de r´ ef´ erence nouveau.
mv
(move)
mv
ancien nom nouveau nomattribue au fichier de r´ ef´ erence ancien nom la r´ ef´ erence nouveau nom.
rm
(remove) rm
liste r´ef´erencessupprime toutes les r´ ef´ erences dans liste r´ ef´ erences.
Syst`emes de fichiers Commandes de manipulation des fichiers
D´ emo
Syst`emes de fichiers Commandes de manipulation des fichiers
Cr´ eation et suppression de r´ epertoire
mkdir
(make directory) mkdir
r´ef´erence r´epertoirecr´ ee un r´ epertoire dont la r´ ef´ erence est r´ ef´ erence r´ epertoire (r´ ef´ erence absolue ou relative).
rmdir
(remove directory)
rmdir liste r´ef´erencessupprime tous les r´ epertoires
videsdont la r´ ef´ erence est dans
liste r´ef´erences.Syst`emes de fichiers Commandes de manipulation des fichiers
Cr´ eation et suppression de r´ epertoire
mkdir
(make directory) mkdir
r´ef´erence r´epertoirecr´ ee un r´ epertoire dont la r´ ef´ erence est r´ ef´ erence r´ epertoire (r´ ef´ erence absolue ou relative).
rmdir
(remove directory) rmdir
liste r´ef´erencessupprime tous les r´ epertoires
videsdont la r´ ef´ erence est dans
liste r´ ef´ erences.
Syst`emes de fichiers Commandes de manipulation des fichiers
D´ emo
Syst`emes de fichiers M´eta-caract`eres
M´ eta-caract` eres
* : toute chaˆıne de caract` eres ne commen¸ cant pas par un .
? : un caract` ere quelconque
[. . . ] : un caract` ere quelconque parmi ceux entre crochets.
[c-j] : un caract` ere quelconque dans la plage allant du caract` ere c au caract` ere j.
{mot1,mot2,mot3}
: une chaˆıne de caract` eres ´ egale ` a mot1, ou mot2, ou
mot3.
Syst`emes de fichiers Montage de disques
Montage de disques
Arborescence unique : disque logique Disques physiques : sous-arborescences
Monter un disque : inclure l’arborescence du disque physique dans l’arborescence g´ en´ erale.
mountdisque point de montage
monte le disque ` a l’endroit r´ ef´ erenc´ e par point de montage dans l’arborescence g´ en´ erale.
D´ emonter un disque : retirer son arborescence de l’arborescence g´ en´ erale.
umountdisque
d´ emonte le disque.
Syst`emes de fichiers Montage de disques
Montage de cl´ e USB
````````
etc
````````
````````
dupont
``
``
``
``
/
home mnt
usager usb
durand
essai.txt mon make
/
````````
````````
hhhhhhhhhhhhhhh
fich1 rep fich2
!!!!a aa
a
fich3 fich4
Syst`emes de fichiers Montage de disques
Montage de cl´ e USB
````````
etc
````````
````````
dupont
``
``
``
``
/
home mnt
usager usb
durand
essai.txt mon make
/
````````
````````
hhhhhhhhhhhhhhh
fich1 rep fich2
!!!!a aa
a
fich3 fich4
Syst`emes de fichiers Montage de disques
Montage de cl´ e USB
````````
etc
````````
````````
dupont
``
``
``
``
/
home mnt
usager usb
durand
essai.txt mon make
/
````````
````````
hhhhhhhhhhhhhhh
fich1 rep fich2
!!!!a aa
a
fich3 fich4
Syst`emes de fichiers Protection des fichiers
Droits d’acc` es aux fichiers
Tout utilisateur :
poss` ede un num´ ero d’utilisateur (uid – user identification)
appartient ` a au moins un groupe (gid – group identification).
Syst`emes de fichiers Protection des fichiers
Droits d’acc` es aux fichiers
Il y a 3 types d’utilisateurs de fichiers :
propri´ etaire (user) : l’utilisateur propri´ etaire du fichier.
groupe (group) : les utilisateurs appartenant au mˆ eme groupe que le fichier.
autres (other) : tous les autres utilisateurs.
A chaque fichier sont associ´ ` es diff´ erents
droits:
lecture
(read) : possibilit´ e de lire le fichier ou de regarder le contenu du r´ epertoire.
´
ecriture
(write) : possibilit´ e d’´ ecrire le fichier ou d’´ ecrire des fichiers dans le r´ epertoire.
ex´ecution
(execute) : possibilit´ e d’ex´ ecuter le fichier ou de traverser le
r´ epertoire.
Syst`emes de fichiers Protection des fichiers
Droits d’acc` es aux fichiers
Il y a 3 types d’utilisateurs de fichiers :
propri´ etaire (user) : l’utilisateur propri´ etaire du fichier.
groupe (group) : les utilisateurs appartenant au mˆ eme groupe que le fichier.
autres (other) : tous les autres utilisateurs.
A chaque fichier sont associ´ ` es diff´ erents droits :
lecture (read) : possibilit´ e de lire le fichier ou de regarder le contenu du r´ epertoire.
´
ecriture (write) : possibilit´ e d’´ ecrire le fichier ou d’´ ecrire des fichiers dans le r´ epertoire.
ex´ ecution (execute) : possibilit´ e d’ex´ ecuter le fichier ou de traverser le
r´ epertoire.
Syst`emes de fichiers Protection des fichiers
Droits d’acc` es aux fichiers
9 couples (type d’utilisateur, droit d’acc` es au fichier)
⇒
les droits d’acc` es sont cod´ es sur 9 bits (ils sont indiqu´ es par la commande ls -l).
rwx user
|{z}group
z}|{rwx rwx
|{z}
other Codage en octal :
rwxr-x--- = 111101000 = 750
Syst`emes de fichiers Protection des fichiers
Modification des droits d’acc` es
chmod
(change mode) chmod
protections liste fichiersPour chaque fichier r´ ef´ erenc´ e dans liste fichiers, les protections du fichier deviennent protections.
Les
protectionspeuvent ˆ etre caract´ eris´ ees de 2 mani` eres : code octal
utilisateur op´eration droits
o` u :
utilisateur
: u (user), g (group), o (other)
op´eration
: + (ajout), - (suppression), = (´ egale)
droits
: r (read), w (write), x (execute)
Syst`emes de fichiers Protection des fichiers
Changements de propri´ etaire et de groupe
chown
(change owner) chown
utilisateur liste fichiersPour chaque fichier r´ ef´ erenc´ e dans liste fichiers, le propri´ etaire du fichier devient utilisateur.
chown
utilisateur.groupe liste fichierschange ´ egalement le groupe auquel le fichier appartient.
chown -R
utilisateur.groupe liste fichiersAvec l’option -R, la modification est ´ egalement apport´ ee aux fichiers contenus dans les r´ epertoires de liste fichiers.
chgrp
(change group)
chgrp groupe liste fichierschange le groupe auxquels les fichiers de
liste fichiersappartiennent.
Syst`emes de fichiers Protection des fichiers
Changements de propri´ etaire et de groupe
chown
(change owner) chown
utilisateur liste fichiersPour chaque fichier r´ ef´ erenc´ e dans liste fichiers, le propri´ etaire du fichier devient utilisateur.
chown
utilisateur.groupe liste fichierschange ´ egalement le groupe auquel le fichier appartient.
chown -R
utilisateur.groupe liste fichiersAvec l’option -R, la modification est ´ egalement apport´ ee aux fichiers contenus dans les r´ epertoires de liste fichiers.
chgrp
(change group) chgrp
groupe liste fichierschange le groupe auxquels les fichiers de liste fichiers appartiennent.
Syst`emes de fichiers Protection des fichiers
Autres permissions
3 bits sp´ eciaux :
set-uid permet d’ex´ ecuter un fichier avec les privil` eges de son propri´ etaire et non pas ceux de l’utilisateur qui lance l’ex´ ecution.
set-gid mˆ eme chose avec le groupe.
bit de collage (sticky bit) assure le maintien de l’ex´ ecutable en m´ emoire
mˆ eme lorsqu’aucune ex´ ecution n’est en cours.
Syst`emes de fichiers Repr´esentation des fichiers
Types de fichiers
fichiers ordinaires : programmes, donn´ ees. Un fichier est d´ ecrit par un i-nœud.
r´ epertoires : ensemble de fichiers. Le contenu d’un r´ epertoire est un ensemble de couples (nom fichier,i-nœud).
fichiers sp´ eciaux : sp´ ecifient les p´ eriph´ eriques. Ces fichiers sont vus par
l’utilisateur comme des fichiers ordinaires.
Syst`emes de fichiers Repr´esentation des fichiers
Structure d’un i-nœud
i-nœud = descripteur de fichier taille en nombre d’octets adresse sur le disque
identification du propri´ etaire
permissions d’acc` es : lecture, ´ ecriture, ex´ ecution type de fichier
date de derni` ere modification
compteur de r´ ef´ erences
Syst`emes de fichiers Repr´esentation des fichiers
Liens
Un lien permet de d´ esigner un fichier ` a partir de plusieurs endroits
diff´ erents dans l’arborescence, et ´ eventuellement avec des noms diff´ erents.
compteur de r´ ef´ erences = nombre de fa¸ cons de d´ esigner un mˆ eme fichier.
La suppression d’un fichier n’est effective que lorsque le compteur de r´ ef´ erences est nul.
ln
(link)
ln ancien nouveaucr´ ee un lien de r´ ef´ erence
nouveauvers le fichier de r´ ef´ erence
ancien.Syst`emes de fichiers Repr´esentation des fichiers
Liens
Un lien permet de d´ esigner un fichier ` a partir de plusieurs endroits
diff´ erents dans l’arborescence, et ´ eventuellement avec des noms diff´ erents.
compteur de r´ ef´ erences = nombre de fa¸ cons de d´ esigner un mˆ eme fichier.
La suppression d’un fichier n’est effective que lorsque le compteur de r´ ef´ erences est nul.
ln
(link) ln
ancien nouveaucr´ ee un lien de r´ ef´ erence nouveau vers le fichier de r´ ef´ erence ancien.
Syst`emes de fichiers Repr´esentation des fichiers
Exemple de lien
/
````````
usr home etc
````````
bin usager
PPP
PPP
make durand dupont
``
``
``
``
mon make essai.txt
6
CommandesUnix
1 Historique et g´en´eralit´es
2 Syst`emes de fichiers
3 Commandes Unix
Manuel en ligne
Visualisation de fichiers
Manipulation de lignes de fichier Recherche de fichiers
4 Entr´ees/sorties et processus
5 Environnement utilisateur et scripts shell
CommandesUnix Manuel en ligne
Manuel en ligne
man comm
affiche page ` a page le chapitre du manuel sur la commande comm.
man -ksujet
permet d’obtenir une documentation sur le sujet.
CommandesUnix Visualisation de fichiers
Visualisation de fichiers
more liste fichiers
affiche page ` a page le contenu des fichiers r´ ef´ erenc´ es dans liste fichiers.
cat liste fichiers
affiche sur la sortie standard le contenu des fichiers dans liste fichiers, ou reproduit l’entr´ ee standard si la liste est vide.
diff fichier1 fichier2
affiche les lignes de
fichier1et
fichier2qui diff` erent.
head liste fichiers
affiche les premi` eres lignes des fichiers r´ ef´ erenc´ es.
tail liste fichiers
affiche les derni` eres lignes des fichiers r´ ef´ erenc´ es.
CommandesUnix Visualisation de fichiers
Visualisation de fichiers
more liste fichiers
affiche page ` a page le contenu des fichiers r´ ef´ erenc´ es dans liste fichiers.
cat liste fichiers
affiche sur la sortie standard le contenu des fichiers dans liste fichiers, ou reproduit l’entr´ ee standard si la liste est vide.
diff fichier1 fichier2
affiche les lignes de fichier1 et fichier2 qui diff` erent.
head liste fichiers
affiche les premi` eres lignes des fichiers r´ ef´ erenc´ es.
tail liste fichiers
affiche les derni` eres lignes des fichiers r´ ef´ erenc´ es.
CommandesUnix Visualisation de fichiers
Visualisation de fichiers
more liste fichiers
affiche page ` a page le contenu des fichiers r´ ef´ erenc´ es dans liste fichiers.
cat liste fichiers
affiche sur la sortie standard le contenu des fichiers dans liste fichiers, ou reproduit l’entr´ ee standard si la liste est vide.
diff fichier1 fichier2
affiche les lignes de fichier1 et fichier2 qui diff` erent.
head liste fichiers
affiche les premi` eres lignes des fichiers r´ ef´ erenc´ es.
tail liste fichiers
affiche les derni` eres lignes des fichiers r´ ef´ erenc´ es.
CommandesUnix Manipulation de lignes de fichier
Manipulation de lignes de fichier
wc liste fichiers(word count)
affiche sur la sortie standard le nombre de lignes, mots et caract` eres des fichiers dans liste fichiers, ou de l’entr´ ee standard si la liste est vide.
tr chaˆıne1 chaˆıne2(transpose)
copie son entr´ ee standard sur sa sortie standard en rempla¸ cant toutes les
occurrences de
chaˆıne1par
chaˆıne2.CommandesUnix Manipulation de lignes de fichier
Manipulation de lignes de fichier
wc liste fichiers(word count)
affiche sur la sortie standard le nombre de lignes, mots et caract` eres des fichiers dans liste fichiers, ou de l’entr´ ee standard si la liste est vide.
tr chaˆıne1 chaˆıne2(transpose)
copie son entr´ ee standard sur sa sortie standard en rempla¸ cant toutes les
occurrences de chaˆıne1 par chaˆıne2.
CommandesUnix Manipulation de lignes de fichier
Manipulation de lignes de fichier
cut options liste fichiers
imprime sur la sortie standard, les parties de lignes des fichiers r´ ef´ erenc´ es, comme sp´ ecifi´ e par les options.
cut -d. -f3 fich.txt
s´ electionne, dans le fichier fich.txt le troisi` eme champ (option -f3, f=field) de chaque ligne, les champs ´ etant d´ elimit´ es par des . (option -d., d=delimiter).
sort liste fichiers
trie les lignes des fichiers r´ ef´ erenc´ es.
Attention: s’il y a plusieurs fichiers, leurs lignes sont m´ elang´ ees.
uniq liste fichiers
quand plusieurs lignes identiques se suivent, n’en garde qu’une. Donc,
supprime les lignes dupliqu´ ees dans un fichier tri´ e.
CommandesUnix Manipulation de lignes de fichier
Manipulation de lignes de fichier
cut options liste fichiers
imprime sur la sortie standard, les parties de lignes des fichiers r´ ef´ erenc´ es, comme sp´ ecifi´ e par les options.
cut -d. -f3 fich.txt
s´ electionne, dans le fichier fich.txt le troisi` eme champ (option -f3, f=field) de chaque ligne, les champs ´ etant d´ elimit´ es par des . (option -d., d=delimiter).
sort liste fichiers
trie les lignes des fichiers r´ ef´ erenc´ es. Attention : s’il y a plusieurs fichiers, leurs lignes sont m´ elang´ ees.
uniq liste fichiers
quand plusieurs lignes identiques se suivent, n’en garde qu’une. Donc,
supprime les lignes dupliqu´ ees dans un fichier tri´ e.
CommandesUnix Manipulation de lignes de fichier
Manipulation de lignes de fichier
cut options liste fichiers
imprime sur la sortie standard, les parties de lignes des fichiers r´ ef´ erenc´ es, comme sp´ ecifi´ e par les options.
cut -d. -f3 fich.txt
s´ electionne, dans le fichier fich.txt le troisi` eme champ (option -f3, f=field) de chaque ligne, les champs ´ etant d´ elimit´ es par des . (option -d., d=delimiter).
sort liste fichiers
trie les lignes des fichiers r´ ef´ erenc´ es. Attention : s’il y a plusieurs fichiers, leurs lignes sont m´ elang´ ees.
uniq liste fichiers
quand plusieurs lignes identiques se suivent, n’en garde qu’une. Donc,
supprime les lignes dupliqu´ ees dans un fichier tri´ e.
CommandesUnix Recherche de fichiers
Recherche de fichiers
grep chaˆıne liste fichiers
recherche, dans les fichiers r´ ef´ erenc´ es, les lignes contenant chaˆıne.
find r´epertoire crit`eres
recherche tous les fichiers de la sous-arborescence de
r´epertoiresatisfaisant les
crit`eresindiqu´ es.
find ~ -name "t*a*"
recherche, dans l’arborescence de l’utilisateur, tous les fichiers dont le nom commence par
tet contient
a.find ~ -name "t*a*" -exec grep coucou {} \;
recherche, dans l’arborescence de l’utilisateur, tous les fichiers dont le nom commence par
tet contient
a. Puis, parmi les fichiers dont le nomconvient, s´ electionne ceux contenant la chaˆıne de caract` eres
coucou.CommandesUnix Recherche de fichiers
Recherche de fichiers
grep chaˆıne liste fichiers
recherche, dans les fichiers r´ ef´ erenc´ es, les lignes contenant chaˆıne.
find r´epertoire crit`eres
recherche tous les fichiers de la sous-arborescence de r´ epertoire satisfaisant les crit` eres indiqu´ es.
find ~ -name "t*a*"
recherche, dans l’arborescence de l’utilisateur, tous les fichiers dont le nom commence par t et contient a.
find ~ -name "t*a*" -exec grep coucou
{} \;recherche, dans l’arborescence de l’utilisateur, tous les fichiers dont le nom commence par t et contient a. Puis, parmi les fichiers dont le nom
convient, s´ electionne ceux contenant la chaˆıne de caract` eres coucou.
Entr´ees/sorties et processus
1 Historique et g´en´eralit´es
2 Syst`emes de fichiers
3 Commandes Unix
4 Entr´ees/sorties et processus
Entr´ ees/sorties, redirections Processus
Signaux
5 Environnement utilisateur et scripts shell
Entr´ees/sorties et processus Entr´ees/sorties, redirections
Entr´ ees/sorties
Entr´ ees : donn´ ees fournies ` a une commande Sorties : ce qui est ´ ecrit par la commande
Les
entr´eeset
sortiesse font a priori sur des canaux sp´ ecifiques :
entr´ee standardassoci´ ee au clavier
sortie standard
associ´ ee ` a l’´ ecran
sortie erreur standard
´ egalement associ´ ee ` a l’´ ecran
Entr´ees/sorties et processus Entr´ees/sorties, redirections
Entr´ ees/sorties
Entr´ ees : donn´ ees fournies ` a une commande Sorties : ce qui est ´ ecrit par la commande
Les entr´ ees et sorties se font a priori sur des canaux sp´ ecifiques : entr´ ee standard associ´ ee au clavier
sortie standard associ´ ee ` a l’´ ecran
sortie erreur standard ´ egalement associ´ ee ` a l’´ ecran
Entr´ees/sorties et processus Entr´ees/sorties, redirections
Redirections : pourquoi ?
On peut vouloir modifier les entr´ ees/sorties, parce que, par exemple : les entr´ ees sont contenues dans un fichier
les sorties sont trop longues pour ˆ etre lues ` a l’´ ecran, donc on veut les mettre dans un fichier
⇒
on redirige le canal associ´ e.
Entr´ees/sorties et processus Entr´ees/sorties, redirections
Redirection des entr´ ees
Redirection de l’entr´ ee standard
comm
<
nom fichierLa commande comm prend ses entr´ ees dans le fichier r´ ef´ erenc´ e par
nom fichier.
Entr´ees/sorties et processus Entr´ees/sorties, redirections
Redirection des sorties
Redirection de la sortie standard
comm
>
nom fichierredirige les sorties de la commande comm sur le fichier r´ ef´ erenc´ e par nom fichier. Ce fichier est cr´ e´ e s’il n’existe pas ou ´ ecras´ e s’il existe d´ ej` a.
comm
>>
nom fichierredirige les sorties de la commande comm sur le fichier r´ ef´ erenc´ e par nom fichier. Ce fichier est cr´ e´ e s’il n’existe pas ou les sorties sont ´ ecrites ` a la fin du fichier s’il existe d´ ej` a.
Redirection de la sortie erreur standard
comm 2> nom fichier
redirige les erreurs g´ en´ er´ ees lors de l’ex´ ecution de la commande
comm.Entr´ees/sorties et processus Entr´ees/sorties, redirections
Redirection des sorties
Redirection de la sortie standard
comm
>
nom fichierredirige les sorties de la commande comm sur le fichier r´ ef´ erenc´ e par nom fichier. Ce fichier est cr´ e´ e s’il n’existe pas ou ´ ecras´ e s’il existe d´ ej` a.
comm
>>
nom fichierredirige les sorties de la commande comm sur le fichier r´ ef´ erenc´ e par nom fichier. Ce fichier est cr´ e´ e s’il n’existe pas ou les sorties sont ´ ecrites ` a la fin du fichier s’il existe d´ ej` a.
Redirection de la sortie erreur standard
comm
2>
nom fichierredirige les erreurs g´ en´ er´ ees lors de l’ex´ ecution de la commande comm.
Entr´ees/sorties et processus Processus
Processus
Un processus est l’activit´ e li´ ee ` a l’ex´ ecution d’un programme.
Un utilisateur peut avoir plusieurs processus en cours ` a un instant donn´ e.
Les diff´ erents processus existant ` a un instant donn´ e sont
ind´ ependants et le processeur leur est attribu´ e de fa¸ con impr´ evisible pour l’utilisateur.
Un interpr´ eteur de commandes (shell) est lanc´ e lorsqu’un utilisateur
se connecte.
Entr´ees/sorties et processus Processus
Ex´ ecution de commandes
Deux cas possibles :
commande interne : l’action est ex´ ecut´ ee par l’interpr´ eteur de commandes lui-mˆ eme ;
commande externe : le nom de l’action est le nom d’un fichier contenant un programme ex´ ecutable. Le processus shell est dupliqu´ e, et sa copie est remplac´ ee par l’ex´ ecutable de la commande. Le processus d’origine attend la fin de l’ex´ ecution de la
commande.
Entr´ees/sorties et processus Processus
Ex´ ecution de commande externe
L’utilisateur tape
commandefork wait
aa aaa
aa
a
exec
commande
Entr´ees/sorties et processus Processus
Enchaˆınements de processus
s´ equentiel : comm1 ; comm2
parall` ele : comm1 | comm2
tˆ ache de fond : commande &
Entr´ees/sorties et processus Processus
Enchaˆınement s´ equentiel
comm1
;
comm2fork wait
aa aa
aaa
a
exec
comm1
fork wait
aa aaa
aa
a
exec
comm2
Entr´ees/sorties et processus Processus
Enchaˆınement parall` ele — tubes
Dans
comm1 |comm2,| repr´ esente un tube (pipe) : les sorties de
comm1 sont les entr´ ees de comm2.
Entr´ees/sorties et processus Processus
Enchaˆınement parall` ele
comm1
|
comm2aa aa
aa aa
fork
wait wait fork
exec fork
wait
aa aa
aa aa
````````````````
comm2
exec
comm1
Entr´ees/sorties et processus Processus
Tˆ aches de fond
commande &
lance la commande commande en tˆ ache de fond :
l’interpr´ eteur n’attend pas la fin de l’ex´ ecution de la commande et permet de relancer imm´ ediatement une autre commande. Le syst` eme affiche le num´ ero du processus cr´ e´ e.
commande
&
a
fork
aa aaa
aa
exec
commande
Entr´ees/sorties et processus Processus
Suspension et reprise
La suspension d’un processus qui s’ex´ ecute en avant-plan s’effectue en appuyant sur les touches <CTRL>-z.
La reprise d’une tˆ ache suspendue peut se faire de deux mani` eres :
fg(foreground) relance la tˆ ache dans le terminal ;
bg(background) relance la tˆ ache en tˆ ache de fond.
L’arrˆ et complet du processus s’effectue en utilisant la commande
kill.Attention : lorsque l’on a appuy´ e sur <CTRL>-z, on a l’impression que le
processus est mort. Ce n’est pas le cas, il est seulement suspendu.
Entr´ees/sorties et processus Processus
Gestion des tˆ aches
L’interpr´ eteur de commandes (shell) maintient une table des processus en cours d’ex´ ecution, qu’ils soient allou´ es ou non au processeur et suspendus ou non.
Lorsqu’un processus est lanc´ e en tˆ ache de fond, une ligne est affich´ ee : [1] 25647
Cette ligne indique que c’est la tˆ ache num´ ero 1, et que l’identificateur du
processus est 25647.
Entr´ees/sorties et processus Processus
Gestion des tˆ aches
Lors de la terminaison d’une tˆ ache de fond, un ligne est affich´ ee dans le terminal :
[2]+ Done emacs
Ceci indique que la tˆ ache num´ ero 2 s’est termin´ ee, et que c’´ etait emacs.
Entr´ees/sorties et processus Processus
Contrˆ ole des tˆ aches
jobs affiche la table des tˆ aches.
%n ou fg %n met la tˆ ache num´ ero n en avant-plan.
%n & ou bg %n met la tˆ ache num´ ero n en arri` ere-plan (tˆ ache de fond).
Au lieu de pr´ eciser le num´ ero, on peut utiliser le nom de la commande ou
le d´ ebut de ce nom (s’il n’y a pas d’ambiguit´ e).
Entr´ees/sorties et processus Processus
Liste des processus
Deux commandes permettent d’acc´ eder aux processus en cours d’ex´ ecution :
ps
affiche l’´ etat des processus en cours : identificateur de processus (PID), terminal (TTY), temps, et commande.
Options de
ps:
u
les processus avec le nom de l’utilisateur propri´ etaire
ales processus des autres utilisateurs
x
tous les processus non attach´ es ` a un terminal
topaffiche l’´ etat des processus en temps r´ eel.
Les touches
h(help) ou
?permettent d’acc´ eder ` a l’aide en ligne de la
commande
top.Entr´ees/sorties et processus Processus
Liste des processus
Deux commandes permettent d’acc´ eder aux processus en cours d’ex´ ecution :
ps
affiche l’´ etat des processus en cours : identificateur de processus (PID), terminal (TTY), temps, et commande.
Options de
ps:
u
les processus avec le nom de l’utilisateur propri´ etaire
ales processus des autres utilisateurs
x
tous les processus non attach´ es ` a un terminal
topaffiche l’´ etat des processus en temps r´ eel.
Les touches h (help) ou ? permettent d’acc´ eder ` a l’aide en ligne de la
commande top.
Entr´ees/sorties et processus Signaux
Signaux
Les signaux permettent d’avertir un processus qu’un ´ ev´ enement important s’est produit. Le processus peut alors r´ eagir ` a cet ´ ev´ enement.
Principaux signaux :
SIGINT
(2) (interrupt) est ´ emis lorsque l’on tape <CTRL>-c.
SIGQUIT
(3) (quit) est ´ emis lorsque l’on tape <CTRL>-\.
SIGKILL
(9) (kill) tue un processus, quel que soit son ´ etat.
SIGALRM
(13) (alarm) est associ´ e ` a une horloge.
SIGTERM
(15) (terminate) est ´ emis lorsqu’un processus termine normalement.
SIGTSTP
(20) (terminal stop) est ´ emis lorsque l’on tape <CTRL>-z.
Entr´ees/sorties et processus Signaux
Arrˆ et d’une tˆ ache
L’arrˆ et d’une tˆ ache se fait par envoi de signaux.
kill -l
affiche la liste des signaux connus.
kill signal liste de pid
envoie le signal ` a tous les processus de la liste de pid.
Environnement utilisateur et scripts shell
1 Historique et g´en´eralit´es
2 Syst`emes de fichiers
3 Commandes Unix
4 Entr´ees/sorties et processus
5 Environnement utilisateur et scripts shell
Environnement utilisateur
Variables
Scripts shell
Environnement utilisateur et scripts shell Environnement utilisateur
Ex´ ecution lors de la connection
Lorsque l’utilisateur se connecte, un processus
shellest ex´ ecut´ e. De plus, des commandes, soit communes, soit propres ` a chacun, sont ex´ ecut´ ees.
Elles se trouvent dans un fichier du r´ epertoire utilisateur : .login
.profile
.cshrc
.bashrc
Environnement utilisateur et scripts shell Environnement utilisateur
Environnement utilisateur
Les commandes du shell permettent d’initialiser des variables, soit pour leur donner une valeur diff´ erente de la valeur par d´ efaut, soit pour les d´ efinir.
L’ensemble de ces variables constitue l’environnement
shell.Environnement utilisateur et scripts shell Variables
Variables
Le nom d’une variable est une chaˆıne de caract` eres contenant des lettres, des chiffres ou le caract` ere et commen¸ cant toujours par une lettre.
La valeur d’une variable est une chaˆıne de caract` eres.
Environnement utilisateur et scripts shell Variables
Variables d’environnement
Les principales variables d’environnement sont : PS1 : premier prompt
PS2 : second prompt, utilis´ e pour continuer une commande pas termin´ ee
HOME : r´ ef´ erence absolue du r´ epertoire utilisateur
PATH : liste des chemins dans lesquels les commandes appel´ ees vont ˆ etre cherch´ ees
LOGNAME : nom d’utilisateur
TERM : type du terminal utilis´ e
Environnement utilisateur et scripts shell Variables
Environnement et commandes
printenv
affiche la liste des variables d’environnement et leur valeur.
which commande
affiche le chemin d’acc` es ` a la
commande.locatechaˆıne
affiche tous les noms de fichiers (depuis la racine) contenant la chaˆıne de
caract` eres
chaˆıneet auxquels l’utilisateur a acc` es.
Environnement utilisateur et scripts shell Variables
Environnement et commandes
printenv
affiche la liste des variables d’environnement et leur valeur.
which commande
affiche le chemin d’acc` es ` a la commande.
locatechaˆıne
affiche tous les noms de fichiers (depuis la racine) contenant la chaˆıne de
caract` eres
chaˆıneet auxquels l’utilisateur a acc` es.
Environnement utilisateur et scripts shell Variables
Environnement et commandes
printenv
affiche la liste des variables d’environnement et leur valeur.
which commande
affiche le chemin d’acc` es ` a la commande.
locatechaˆıne
affiche tous les noms de fichiers (depuis la racine) contenant la chaˆıne de
caract` eres chaˆıne et auxquels l’utilisateur a acc` es.
Environnement utilisateur et scripts shell Variables
Utilisation de variables
Affectation :
var=val Valeur:
$varSi la variable
varn’a pas ´ et´ e d´ efinie, son contenu est la chaˆıne de caract` eres vide.
Port´ee
: la variable est seulement connue du processus
shelldans laquelle elle a ´ et´ e affect´ ee. Pour qu’elle soit transmise aux
sous-shells, elle doit ˆetre export´ ee :
export var
Environnement utilisateur et scripts shell Variables
Utilisation de variables
Affectation :
var=valValeur :
$varSi la variable var n’a pas ´ et´ e d´ efinie, son contenu est la chaˆıne de caract` eres vide.
Port´ee
: la variable est seulement connue du processus
shelldans laquelle elle a ´ et´ e affect´ ee. Pour qu’elle soit transmise aux
sous-shells, elle doit ˆetre export´ ee :
export var
Environnement utilisateur et scripts shell Variables
Utilisation de variables
Affectation :
var=valValeur :
$varSi la variable var n’a pas ´ et´ e d´ efinie, son contenu est la chaˆıne de caract` eres vide.
Port´ ee : la variable est seulement connue du processus shell dans laquelle elle a ´ et´ e affect´ ee. Pour qu’elle soit transmise aux sous-shells, elle doit ˆ etre export´ ee :
export var
Environnement utilisateur et scripts shell Variables
Variables num´ eriques
Une variable peut avoir une valeur num´ erique enti` ere. Le shell peut alors
´
evaluer des expressions arithm´ etiques.
var1=3
var2=$(($var1+4))
var3=$[$var1*5]
Environnement utilisateur et scripts shell Variables
D´ elimiteurs
Les d´ elimiteurs permettent d’effectuer des op´ erations ` a l’int´ erieur de chaˆınes de caract` eres.
’chaˆıne’
la
chaˆınede caract` eres entre
apostrophes(quotes) est utilis´ ee telle quelle.
En particulier, s’il y a des appels ` a des variables, aucune substitution n’est effectu´ ee.
"chaˆıne"
la substitution des variables contenues dans la
chaˆınede caract` eres entre
guillemetsest effectu´ ee.
‘chaˆıne‘
la
chaˆınede caract` eres entre
apostrophes invers´ees(backquotes) est
consid´ er´ ee comme une commande
shellet est ex´ ecut´ ee.
Environnement utilisateur et scripts shell Variables
D´ elimiteurs
Les d´ elimiteurs permettent d’effectuer des op´ erations ` a l’int´ erieur de chaˆınes de caract` eres.
’chaˆıne’
la chaˆıne de caract` eres entre apostrophes (quotes) est utilis´ ee telle quelle.
En particulier, s’il y a des appels ` a des variables, aucune substitution n’est effectu´ ee.
"chaˆıne"
la substitution des variables contenues dans la
chaˆınede caract` eres entre
guillemetsest effectu´ ee.
‘chaˆıne‘
la
chaˆınede caract` eres entre
apostrophes invers´ees(backquotes) est
consid´ er´ ee comme une commande
shellet est ex´ ecut´ ee.
Environnement utilisateur et scripts shell Variables
D´ elimiteurs
Les d´ elimiteurs permettent d’effectuer des op´ erations ` a l’int´ erieur de chaˆınes de caract` eres.
’chaˆıne’
la chaˆıne de caract` eres entre apostrophes (quotes) est utilis´ ee telle quelle.
En particulier, s’il y a des appels ` a des variables, aucune substitution n’est effectu´ ee.
"chaˆıne"
la substitution des variables contenues dans la chaˆıne de caract` eres entre guillemets est effectu´ ee.
‘chaˆıne‘
la
chaˆınede caract` eres entre
apostrophes invers´ees(backquotes) est
consid´ er´ ee comme une commande
shellet est ex´ ecut´ ee.
Environnement utilisateur et scripts shell Variables
D´ elimiteurs
Les d´ elimiteurs permettent d’effectuer des op´ erations ` a l’int´ erieur de chaˆınes de caract` eres.
’chaˆıne’
la chaˆıne de caract` eres entre apostrophes (quotes) est utilis´ ee telle quelle.
En particulier, s’il y a des appels ` a des variables, aucune substitution n’est effectu´ ee.
"chaˆıne"
la substitution des variables contenues dans la chaˆıne de caract` eres entre guillemets est effectu´ ee.
‘chaˆıne‘
la chaˆıne de caract` eres entre apostrophes invers´ ees (backquotes) est
consid´ er´ ee comme une commande shell et est ex´ ecut´ ee.
Environnement utilisateur et scripts shell Variables
Affichage
echo chaˆıne
affiche la chaˆıne de caract` eres, avec ´ eventuelle substitution des variables, suivant les d´ elimiteurs utilis´ es.
echo -n chaˆıne
affiche la chaˆıne de caract` eres, sans retour ` a la ligne.
Environnement utilisateur et scripts shell Variables
Alias
Les alias permettent de substituer une chaˆıne de caract` eres ` a un mot lorsqu’il est utilis´ e comme premier mot d’une commande simple.
Cr´ eation d’un alias :
alias nom alias =chaˆıneSuppression d’un alias :
unalias nom aliasListe des alias d´ efinis :
aliasEnvironnement utilisateur et scripts shell Scripts shell
Scripts shell
Un
script shellest un fichier contenant une suite de commandes shell.
Un script shell permet de rassembler plusieurs commandes, par exemple, si
l’on doit ex´ ecuter plusieurs fois une suite de commandes relativement
longue. C’est alors une commande ´ ecrite par l’utilisateur.
Environnement utilisateur et scripts shell Scripts shell
D´ ebut d’un script shell
On peut indiquer, dans la premi` ere ligne du fichier, l’interpr´ eteur shell ` a utiliser :
#!/bin/bash
Des
commentairespeuvent ˆ etre ins´ er´ es dans le fichier, et ne sont pas
interpr´ et´ es par le
shell. Les commentaires sont des chaˆınes de caract`eres
commen¸ cant par
#.Environnement utilisateur et scripts shell Scripts shell
D´ ebut d’un script shell
On peut indiquer, dans la premi` ere ligne du fichier, l’interpr´ eteur shell ` a utiliser :
#!/bin/bash
Des commentaires peuvent ˆ etre ins´ er´ es dans le fichier, et ne sont pas
interpr´ et´ es par le shell. Les commentaires sont des chaˆınes de caract` eres
commen¸ cant par #.
Environnement utilisateur et scripts shell Scripts shell
Param` etres
Un script shell peut accepter des param` etres : monscript param 1 . . . param
nLes param` etres sont r´ ef´ erenc´ es comme des variables de nom 1, 2, . . . , 9.
echo "valeur du param` etre 2 = $2"
Environnement utilisateur et scripts shell Scripts shell
Autres variables
$0 : nom de la commande appel´ ee
$* : liste des param` etres
$# : nombre de param` etres
$$ : num´ ero du processus shell correspondant ` a la commande
Environnement utilisateur et scripts shell Scripts shell
Ex´ ecution d’un script shell
Pour ex´ ecuter un script shell, il y a deux mani` eres : source
monscriptChanger le mode de monscript pour qu’il devienne ex´ ecutable, puis
l’ex´ ecuter (comme une commande).
Environnement utilisateur et scripts shell Scripts shell
Structures de contrˆ ole
si . . . alors . . . sinon . . . finsi if liste commandes 1 then liste commandes 2 else liste commandes 3 fi
cas
case chaˆıne caract`eres in
motif 1 )liste commandes 1 ;;
.. . .. .
motif n )liste commandes n ;;
*)liste commandes d´efaut ;;
esac
Environnement utilisateur et scripts shell Scripts shell
Structures de contrˆ ole
si . . . alors . . . sinon . . . finsi if liste commandes 1 then liste commandes 2 else liste commandes 3 fi
cas
case chaˆıne caract` eres in
motif 1 ) liste commandes 1 ;;
.. . .. .
motif n ) liste commandes n ;;
* ) liste commandes d´ efaut ;;
esac
Environnement utilisateur et scripts shell Scripts shell
Tests
Tests sur les chaˆınes de caract` eres [ chaˆıne1 = chaˆıne2 ]
teste si les deux chaˆınes de caract` eres sont ´ egales [ chaˆıne1 != chaˆıne2 ]
teste si les deux chaˆınes de caract` eres sont diff´ erentes [ -n chaˆıne ]
teste si la chaˆıne de caract` eres est non vide [ -z chaˆıne ]
teste si la chaˆıne de caract` eres est vide
Environnement utilisateur et scripts shell Scripts shell
Tests
Tests sur les valeurs num´ eriques [ nb1 -eq nb2 ] : ´ egalit´ e (equal) [ nb1 -ne nb2 ] : in´ egalit´ e (not equal) [ nb1 -gt nb2 ] : plus grand (greater than)
[ nb1 -ge nb2 ] : plus grand ou ´ egal (greater or equal) [ nb1 -lt nb2 ] : plus petit (lower than)
[ nb1 -le nb2 ] : plus petit ou ´ egal (lower or equal)
Environnement utilisateur et scripts shell Scripts shell
Tests
Tests sur les fichiers
[ -d fichier ] : teste si le fichier est un r´ epertoire
[ -f fichier ] : teste si fichier est un nom de fichier
[ -r fichier ] : teste le droit de lecture sur le fichier
[ -w fichier ] : teste le droit d’´ ecriture sur le fichier
[ -x fichier ] : teste le droit d’ex´ ecution sur le fichier
Environnement utilisateur et scripts shell Scripts shell
Boucles
pour . . . faire . . . finpour
for variable in liste chaˆınes caract` eres do
liste commandes done
tant que . . . faire . . . fintq
while liste commandes 1 doliste commandes 2 done
Environnement utilisateur et scripts shell Scripts shell
Boucles
pour . . . faire . . . finpour
for variable in liste chaˆınes caract` eres do
liste commandes done
tant que . . . faire . . . fintq while liste commandes 1 do
liste commandes 2
done
Environnement utilisateur et scripts shell Scripts shell
Autres instructions
set chaˆıne
la chaˆıne de caract` eres devient la nouvelle liste de param` etres
read liste variablesles variables prennent les valeurs fournies par l’entr´ ee standard
exit entier