• Aucun résultat trouvé

Introduction aux syst`emes informatiques

N/A
N/A
Protected

Academic year: 2022

Partager "Introduction aux syst`emes informatiques"

Copied!
122
0
0

Texte intégral

(1)

Introduction aux syst` emes informatiques

Laure Petrucci

IUT R&T Villetaneuse

17 septembre 2010

(2)

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

(3)

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

(4)

Historique et g´en´eralit´es Diff´erentes g´en´erations

1

`ere

g´ en´ eration (1950–1960) : exploitation porte ouverte

Mat´ eriel : tubes (peu fiable, lent, encombrant) Programmes ´ ecrits directement en langage machine

ENIAC (1946)

(5)

Historique et g´en´eralit´es Diff´erentes g´en´erations

2

`eme

g´ 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)

(6)

Historique et g´en´eralit´es Diff´erentes g´en´erations

3

`eme

g´ 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

(7)

Historique et g´en´eralit´es Diff´erentes g´en´erations

4

`eme

g´ en´ eration (1970–. . .) : r´ eseaux et syst` emes r´ epartis

1969 : premier microprocesseur

R´ eseaux

(8)

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

,

Unix

(9)

Historique et g´en´eralit´es Composants logiciels

Interactions entre composants

mat´ eriel

syst` eme d’exploitation services outils applications

6? 6

? 6

?

?

(10)

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

(11)

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

(12)

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.

(13)

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

(14)

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

(15)

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

(16)

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

(17)

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.

(18)

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

(19)

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

(20)

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

..

(21)

Syst`emes de fichiers Adressage des fichiers

R´ ef´ erence relative

/

````````

usr home etc

````````

usager

PPP

PPP

durand dupont

essai.txt

../durand/essai.txt

(22)

Syst`emes de fichiers Adressage des fichiers

R´ ef´ erence relative

/

````````

usr home etc

````````

usager

PPP

PPP

durand dupont

essai.txt

../durand/essai.txt

(23)

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 ef´erence r´epertoire

Le 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´erences

affiche, 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´erences

affiche ´ egalement des informations sur le fichier telles que sa taille, la date

de derni` ere modification, . . .

(24)

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

ef´erence r´epertoire

Le 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´erences

affiche, 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´erences

affiche ´ egalement des informations sur le fichier telles que sa taille, la date

de derni` ere modification, . . .

(25)

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

ef´erence r´epertoire

Le 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´erences

affiche, 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´erences

affiche ´ egalement des informations sur le fichier telles que sa taille, la date

de derni` ere modification, . . .

(26)

Syst`emes de fichiers Commandes de manipulation des fichiers

D´ emo

(27)

Syst`emes de fichiers Commandes de manipulation des fichiers

Copie, renommage et suppression

cp

(copy) cp

ancien nouveau

copie 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 nom

la r´ ef´ erence

nouveau nom.

rm

(remove)

rm liste r´ef´erences

supprime toutes les r´ ef´ erences dans

liste r´ef´erences.

(28)

Syst`emes de fichiers Commandes de manipulation des fichiers

Copie, renommage et suppression

cp

(copy) cp

ancien nouveau

copie 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 nom la r´ ef´ erence nouveau nom.

rm

(remove)

rm liste r´ef´erences

supprime toutes les r´ ef´ erences dans

liste r´ef´erences.

(29)

Syst`emes de fichiers Commandes de manipulation des fichiers

Copie, renommage et suppression

cp

(copy) cp

ancien nouveau

copie 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 nom la r´ ef´ erence nouveau nom.

rm

(remove) rm

liste r´ef´erences

supprime toutes les r´ ef´ erences dans liste r´ ef´ erences.

(30)

Syst`emes de fichiers Commandes de manipulation des fichiers

D´ emo

(31)

Syst`emes de fichiers Commandes de manipulation des fichiers

Cr´ eation et suppression de r´ epertoire

mkdir

(make directory) mkdir

ef´erence r´epertoire

cr´ 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´erences

supprime tous les r´ epertoires

vides

dont la r´ ef´ erence est dans

liste r´ef´erences.

(32)

Syst`emes de fichiers Commandes de manipulation des fichiers

Cr´ eation et suppression de r´ epertoire

mkdir

(make directory) mkdir

ef´erence r´epertoire

cr´ 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´erences

supprime tous les r´ epertoires

vides

dont la r´ ef´ erence est dans

liste r´ ef´ erences.

(33)

Syst`emes de fichiers Commandes de manipulation des fichiers

D´ emo

(34)

Syst`emes de fichiers 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.

(35)

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.

(36)

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

(37)

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

(38)

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

(39)

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).

(40)

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.

(41)

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.

(42)

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

(43)

Syst`emes de fichiers Protection des fichiers

Modification des droits d’acc` es

chmod

(change mode) chmod

protections liste fichiers

Pour chaque fichier r´ ef´ erenc´ e dans liste fichiers, les protections du fichier deviennent protections.

Les

protections

peuvent ˆ 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)

(44)

Syst`emes de fichiers Protection des fichiers

Changements de propri´ etaire et de groupe

chown

(change owner) chown

utilisateur liste fichiers

Pour chaque fichier r´ ef´ erenc´ e dans liste fichiers, le propri´ etaire du fichier devient utilisateur.

chown

utilisateur.groupe liste fichiers

change ´ egalement le groupe auquel le fichier appartient.

chown -R

utilisateur.groupe liste fichiers

Avec 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 fichiers

change le groupe auxquels les fichiers de

liste fichiers

appartiennent.

(45)

Syst`emes de fichiers Protection des fichiers

Changements de propri´ etaire et de groupe

chown

(change owner) chown

utilisateur liste fichiers

Pour chaque fichier r´ ef´ erenc´ e dans liste fichiers, le propri´ etaire du fichier devient utilisateur.

chown

utilisateur.groupe liste fichiers

change ´ egalement le groupe auquel le fichier appartient.

chown -R

utilisateur.groupe liste fichiers

Avec 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 fichiers

change le groupe auxquels les fichiers de liste fichiers appartiennent.

(46)

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.

(47)

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.

(48)

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

(49)

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 nouveau

cr´ ee un lien de r´ ef´ erence

nouveau

vers le fichier de r´ ef´ erence

ancien.

(50)

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 nouveau

cr´ ee un lien de r´ ef´ erence nouveau vers le fichier de r´ ef´ erence ancien.

(51)

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

(52)

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

(53)

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.

(54)

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.

(55)

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.

(56)

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.

(57)

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.

(58)

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.

(59)

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.

(60)

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.

(61)

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.

(62)

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 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.

(63)

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 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.

(64)

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

(65)

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

(66)

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

(67)

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.

(68)

Entr´ees/sorties et processus Entr´ees/sorties, redirections

Redirection des entr´ ees

Redirection de l’entr´ ee standard

comm

<

nom fichier

La commande comm prend ses entr´ ees dans le fichier r´ ef´ erenc´ e par

nom fichier.

(69)

Entr´ees/sorties et processus Entr´ees/sorties, redirections

Redirection des sorties

Redirection de la sortie standard

comm

>

nom fichier

redirige 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 fichier

redirige 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.

(70)

Entr´ees/sorties et processus Entr´ees/sorties, redirections

Redirection des sorties

Redirection de la sortie standard

comm

>

nom fichier

redirige 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 fichier

redirige 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.

(71)

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.

(72)

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.

(73)

Entr´ees/sorties et processus Processus

Ex´ ecution de commande externe

L’utilisateur tape

commande

fork wait

aa aaa

aa

a

exec

commande

(74)

Entr´ees/sorties et processus Processus

Enchaˆınements de processus

s´ equentiel : comm1 ; comm2

parall` ele : comm1 | comm2

tˆ ache de fond : commande &

(75)

Entr´ees/sorties et processus Processus

Enchaˆınement s´ equentiel

comm1

;

comm2

fork wait

aa aa

aaa

a

exec

comm1

fork wait

aa aaa

aa

a

exec

comm2

(76)

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.

(77)

Entr´ees/sorties et processus Processus

Enchaˆınement parall` ele

comm1

|

comm2

aa aa

aa aa

fork

wait wait fork

exec fork

wait

aa aa

aa aa

````````````````

comm2

exec

comm1

(78)

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

(79)

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.

(80)

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.

(81)

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.

(82)

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).

(83)

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

a

les processus des autres utilisateurs

x

tous les processus non attach´ es ` a un terminal

top

affiche 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.

(84)

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

a

les processus des autres utilisateurs

x

tous les processus non attach´ es ` a un terminal

top

affiche 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.

(85)

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.

(86)

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.

(87)

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

(88)

Environnement utilisateur et scripts shell Environnement utilisateur

Ex´ ecution lors de la connection

Lorsque l’utilisateur se connecte, un processus

shell

est 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

(89)

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.

(90)

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.

(91)

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

(92)

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.

(93)

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.

(94)

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.

(95)

Environnement utilisateur et scripts shell Variables

Utilisation de variables

Affectation :

var=val Valeur

:

$var

Si 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

(96)

Environnement utilisateur et scripts shell Variables

Utilisation de variables

Affectation :

var=val

Valeur :

$var

Si 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

(97)

Environnement utilisateur et scripts shell Variables

Utilisation de variables

Affectation :

var=val

Valeur :

$var

Si 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

(98)

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]

(99)

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.

(100)

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.

(101)

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.

(102)

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.

(103)

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.

(104)

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ˆıne

Suppression d’un alias :

unalias nom alias

Liste des alias d´ efinis :

alias

(105)

Environnement utilisateur et scripts shell Scripts shell

Scripts shell

Un

script shell

est 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.

(106)

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

#.

(107)

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 #.

(108)

Environnement utilisateur et scripts shell Scripts shell

Param` etres

Un script shell peut accepter des param` etres : monscript param 1 . . . param

n

Les param` etres sont r´ ef´ erenc´ es comme des variables de nom 1, 2, . . . , 9.

echo "valeur du param` etre 2 = $2"

(109)

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

(110)

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

monscript

Changer le mode de monscript pour qu’il devienne ex´ ecutable, puis

l’ex´ ecuter (comme une commande).

(111)

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

(112)

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

(113)

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

(114)

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)

(115)

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

(116)

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

(117)

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

(118)

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 variables

les variables prennent les valeurs fournies par l’entr´ ee standard

exit entier

le script termine et renvoie l’entier comme code de retour

Références

Documents relatifs

Une barre de masse m 1 est plac´ee sur une planche de masse m 2 , et l’ensemble repose sans frottement sur un plan horizontal, voir la figure 4.. Le facteur de frottement entre la

• Attention aux autres manuels. La plupart des manuels classiques d´eveloppent le mod`ele de r´egression simple et le mod`ele de r´egression multiple sous les hypoth`eses suivantes:

Ce livre pr´ esente des aspects introductifs en optimisation de formes, des probl` emes mod` eles vari´ ees, des rappels concernant l’analyse num´ erique et l’optimisation

Le coˆ ut marginal de long terme est ´egal au coˆ ut moyen de long terme pour le niveau de production tel que ce dernier est minimum.. Ici, le coˆ ut marginal de long terme est ´egal

[r]

La premi`ere loi de Newton d´efinit les r´ef´erentiels d’inertie comme ceux o`u, en l’absence de force, la particule est, soit immobile, soit en MRU ; autrement dit, avec la

On peut le projeter dans

Pour autant, une amplitude d’une dizaine de mètre s’ajoutant ou se retranchant aux 6