Vous êtes sur la page 1sur 5

Rapport du TP3 de Systme d'Exploitation :

Exercice 3 : Redirections et pipes


1 On se place au Home Directory grce cd.
2 En excutant la commande ls titi alors que le fichier titi n'existe pas, une
erreur s'affichera :

ls: cannot access titi: No such file or directory


En revanche, pour rediriger la sortie d'erreur sur un fichier, il suffit de rajouter
aprs l'instruction 2 > erreur, sachant que :
2 est le descripteur (ou numro) associ la sortie d'erreur
erreur tant le fichier dans lequel la sortie d'erreur va tre dirige.
Pour afficher le contenu de erreur, on peut excuter cat erreur
3 La commande ls titi * provoque une erreur qui sera enregistre dans le
fichier erreur.
En revanche, pour rediriger les rsultats de la commande vers un fichier, il
suffit de rajouter 1>resultat ou bien > resultat tant donn que la sortie
standard est le paramtre reconnu par dfaut (Inutile de le prciser).
Pour afficher le contenu de resultat, on peut excuter cat resultat
4 Pour rediriger la sortie standard et la sortie d'erreur vers le mme fichier, il
suffit d'excuter

ls titi * 2>res_err >>res_err


Qui fera concaten l'erreur ainsi que le rsultat sur le mme fichier.
5 Pour crer le fichier manuel qui contient le manuel de la commande mkdir,
il suffit d'excuter :

man mkdir > manuel


6 Pour afficher le contenu du fichier manuel, il suffit d'excuter :

cat manuel
7 Pour copier le fichier manuel sous le nom manuelbis grce la commande
cat, il suffit d'excuter :

cat manuel > manuelbis


8 Aprs avoir execut l'instruction man mkdir > manuel > manuelbis, on
obient les rsultats suivants :
manuel devient vide
manuelbis contient le manuel de la commande mkdir.
Ceci s'explique par le fait que l'on a redirig la sortie de man mkdir dans le
fichier manuel puis l'on a redirig la sortie de manuel vers manuelbis.
La sortie a t doublement redirige d'o l'affichage uniquement dans le fichier
manuelbis.
9 Pour rajouter au fichier manuelbis le contenu du manuel de la commande
rmdir, il suffit d'excuter :

man rmdir >> manuelbis


10 Pour afficher les attributs de manuelbis dans le fichier droits, il suffit
d'xecuter :

ls -l manuelbis >droits
11 Pour afficher le contenu de manuelbis et de droits en une seule commande
grce la commande cat, il suffit d'xecuter :

cat manuelbis droits


12 Pour excuter ce qui est demand, il suffit d'excuter :

ls -l | sort | more
O, ls-l | sort fera afficher la liste des fichiers en les ordonnant par leur attributs
de droits, puis on donne le rsultat de cette commande grce au pipe more.
13 Aprs avoir ouvert un deuxime terminal et excut la commande tty, je
m'aperois que mon terminal le numro 3

/dev/pts/3
Pour transfrer l'affichage, il suffit d'xecuter :

ls -l | sort | more > /dev/pts/3

14 Rien ne se passe aprs avoir tent de transfrer l'affichage du rsultat


vers /dev/null. On peut avoir recours cette solution si l'on souhaite qu'un
programme n'encombre pas l'cran en faisant rediriger sa sortie vers cette
sorte de trou noir

Exercice 4 : Liens
1 On cre le fichier test l'aide de cat > test pour remplir ce qui est
demand. On procde la copie l'aide de cp test test1
On cre un lien physique test2 sur test en procdant comme suit :
ln test test2
On cre un lien symbolique test3 sur test en procdant comme suit :
ln -s test test3
Le lien symbolique reprsente un fichier contenant le chemin pour se rendre
test3 Il s'agit de la notion de raccourci sous Windows.
Quant au lien physique, il s'agit d'un pointeur vers l'espace disque qui contient
la donne de test. Le fichier ne sera rellement supprim que lorsqu'il
n'existera plus aucun lien menant vers cet espace.
Pour connatre le nombre de lien menant vers un fichier, il suffit d'excuter ls -l
du fichier concern.
2 Aprs avoir excut ls -i test*, j'obtiens :

6427 test 6435 test1 6427 test2 7251 test3


Preuve que test2 et test pointe vers le mme espace disque contenant la
donne cre au dbut de l'exercice Premier fichier de test et qu'il ne s'agit
que de deux noms diffrents pointant vers le mme fichier.
Test1 et test3 ont des inodes diffrents car test1 n'est qu'une copie relle de
test et test3 est un lien symbolique qui contient le chemin de test.
3 Une fois test supprim, j'obtiens aprs excution de ls -i test* :
6435 test1 6427 test2 7251 test3
O test3 est en rouge car c'est un lien symbolique cass aprs qu'on ait
supprim le fichier test vers lequel il pointait.
Aprs l'affichage de test1, test2 et test3, nous obtenons :
cat test*
Premier fichier de test
Premier fichier de test
cat: test3: No such file or directory
La premire ligne reprsente le contenu de test1, qui est toujours l car il s'agit
d'une copie du fichier test qu'on a effectu au dbut. Test2 pointe toujours vers

l'espace disque de test mais test3 est bris car il pointait vers test.
4 Aprs avoir cre un second fichier test contenant Deuxime fichier de
test et qu'on ait tent d'afficher le contenu des quatres fichiers, voici ce que
l'on obtiens :
cat test*
Deuxime fichier de test
Premier fichier de test
Premier fichier de test
Deuxime fichier de test
Ce qui est logique car ;
La premire ligne reprsente le contenu de test qu'on vient de cre.
La deuxime ligne est toujours une copie de test
La troisiime ligne pointe vers test (du pass)
La quatrime ligne est un lien symbolique vers test

Exercice 5 : Recherche
1 On peut crer tous les fichiers demands en une seule commande :

touch annee1 annee2 annee4 annee45 annee410 annee510


annee_lunaire
2 On cre les repertoires demands en une seule commande :

mkdir Ans NouvelAns


Puis on les dplace :

mv annee1 annee2 annee4 annee45 annee410 annee510


annee_lunaire Ans
3 Pour lister les fichiers :
* se terminant par 5

ls -l *5
* commenant par annee4

ls -l annee4*
* commenant par annee4 et de 7 lettres au maximum ==>

ls -l annee4{,?}

* commenant par annee avec aucun chiffre numerique

ls -l annee*[!0-9]
* contenant la chaine una

ls -l *una*
* commenant par a ou A

ls -l [aA]*
Exercice 6 : Archivage et compression
1 La commande tar permet soit d'archiver (organiser sans compresser) soit
compresser (diminution de taille finale).
Pour crer une archive du dossier TPSYS, on se rend Home Directory et on
excute :

tar cvf tpsys.tar TPSYS


c qui signifie create
v qui signifie verbose (descriptions des tapes de l'archivage)
f qui signifie file
2 On cre le repetoire Archive l'aide de mkdir puis on dplace l'archive
grce mv
3 Puis on dsarchive le contenu de l'archive grace :

tar xvf ans.tar


4 Pour crer une archive comprss, il suffit d'xecuter :

tar czf TPSYS.tar.gz TPSYS


z voulant dire Gzip, un format de compression.
5 On vrifie la diffrence de taille grce un ls et effectivement, le fichier TAR
comme taille 10 Ko tandis que le fichier TAR.GZ 214 octets comme taille.
6 Pour compresser tous les documents finisant par un .c, on excute :

tar czf destination.tar.gz *.c