REDIRECTIONS

 

Opé d'E/S faites par des processus

   ▪ fichier Û n° interne au processus = descripteur

   pour les fichiers std :

 

 

descripteur

N° d'E/S std

 

Entrée std

cin>>

0

fichier clavier

Sortie std

cout<<

1

terminaux

d'affichage

Sortie std des erreurs

cerr<<

2

 

   ▪ contrôle de l'accès pour l'opé demandée en fonction des droits

 

Redirections des E/S std au niveau shell

 

Sorties std

(cout<<…) redirigées vers ficCOUT

 

cde >ficCOUT   

Þ écrase

cde >>ficCOUT 

Þ ajoute en fin

 

Sorties std d'erreurs

(cerr<<…) redirigées vers ficCERR

 

cde 2>>ficCERR 

Þ ajoute en fin   

cde 2>ficCERR   

Þ écrase

 

Entrées std

(cin>>…) redirigées vers ficCIN

 

cde <ficCIN

 

Rq : on peut faire :   cmde >>ficCOUT  <ficCIN

cde peut être ps, ls, le nom d'un exécutable, etc.

La redirection des E/S fait taper en aveugle

 

Attn : pour les affichages de contrôle

cout<<…<<endl;

vide le buffer C++, sinon Þ pb de détection des bugs


Pipes = tubes = comm° entre processus

 

ls | more Þ affichage page par page

 

more Þ lecture sur entrée std par défaut

 

cde1 >fic

cde2 <fic

Û cde1 | cde2

Û la sortie std du processus de cde1 est redirigée vers l'entrée std du processus de cde2

 

         0                  1                 0                 1

                ps 1      S std               E std  ps 2

 

2                                                                          2

 

wc –l Þ compte nb lignes

 

cde1 | cde2 | cde 3 Þ la sortie std du processus 2 est redirigée vers l'E std du processus 3

 

ls –l Þ affiche le contenu du répertoire ligne par ligne