Anda di halaman 1dari 5

Compte rendu du TP n4

Commandes de base de Linux (partie 2)


RAHAL Majda Nafissa - 9/04/2012
Exercice 3 :
1. On se place dans le home directory grce la commande cd.
2. On excute la commande suivante pour rediriger la sortie d'erreur :
lstiti2>erreur
2 tant le code de la sortie pour les messages d'erreur.
On affiche le contenu du ficher erreur avec caterreur , on obtient :
ls:impossibled'accdertiti:Aucunfichieroudossier
decetype
Ce qui prouve que la sortie a bien t redirige.
3. On excute la commande suivante :
lstiti*2>erreur
On remarque que le listing s'affiche l'cran (sortie standard des rsultats) mais
l'erreur toujours dans le fichier erreur.
On excute maintenant :
lstiti*>resultat2>erreur
Rien ne s'affiche l'cran, par contre en accdant resultat et erreur (grce
catresultat et caterreur), on constate que le listing ainsi que le message
d'erreur y sont affichs.
On a ainsi drout les 2 sorties standards celle des rsultats et celle des erreurs.
4. On veut rediriger les 2 sorties vers le mme fichier, on procde comme suit :
lstiti*2>res_err>>res_err
Le >> servant concatner le rsultat de la sortie d'erreur celui de la sortie
standard.
5. On cre le fichier manuel comme ceci :
manmkdir>manuel
6. On affiche son contenu l'aide de : catmanuel et c'est bien le manuel de la
commande mkdir qui s'affiche.
7. On copie ceci dans le fichier manuelbis ainsi :
catmanuel>manuelbis
On en dduit que parmi les fonctions de la commande cat on a la copie de fichiers.
8. Aprs l'excution de cette commande, manuel ne contient rien (fichier vide) et
manuelbis contient le manuel de la commande mkdir.
Ceci s'explique par le fait que l'on a redirig la sortie de manmkdir vers le fichier
manuel, puis on a redirig la sortie de manuel vers manuelbis.
La sortie a t doublement redirige d'o l'affichage uniquement dans
manuelbis.
9. On ajoute au fichier manuelbis le manuel de la commande rmdir comme suit :
manrmdir>>manuelbis
10. L'affichage des attributs de manuelbis dans droits se fait grce la commande :
lslmanuelbis>droits
11. Pour afficher les deux fichiers manuelbis et droits en une seule commande, on
fait : catmanuelbisdroits
page 1

Ils s'afficheront l'un la suite de l'autre. Ceci montre que cat est aussi utilise pour
la concatnation de fichiers.
12. Pour afficher page par page la liste trie des fichiers du rpertoire, on excute :
lsl|sort|more
sort sert trier les fichiers/rpertoires suivant le critre des droits.
La ligne de commandes excute fonctionne de la manire suivante : on trie le
rsultat de lsl avec sort (on le donne en entre sort grce au tube), puis on
donne cette liste trie en entre more qui sert l'affichage page par page.
13. On ouvre un autre terminal, on affiche son numro par la commande tty qui
donne : /dev/pts/1
Pour transfrer le rsultat prcdent sur le 2e terminal, on excute :
lsl|sort|more>/dev/pts/1
Ce qui aura pour effet de rediriger la sortie standard de la commande vers le
terminal, qui est caractris par son nom (/dev/pts/1).
14. On redirige maintenant le rsultat vers /dev/null, rien ne s'affiche l'cran car ce
fichier est assimilable un point noir ou une redirection vers le vide. On utilise
ce genre de redirection lorsque l'on sait ce que fait un programme et qu'on ne veut
pas s'encombrer de son affichage, par exemple.
Exercice 4 : (Liens)
1. Cration d'un fichier test :
cat>test
Premierfichierdetest
(Ctrl+d pour quitter)
Copie du fichier :
cptesttest1
Cration du lien physique :
lntesttest2
Cration du lien symbolique :
lnstesttest3
Le lien physique tant un pointeur vers l'espace disque du fichier test, il permet de
donner plusieurs noms un mme fichier sans dcupler l'espace mmoire. Le fichier ne
sera alors supprim que lorsque son nombre de liens physiques sera gal 0 (le nombre
de liens physiques est le2e argument qui s'affiche lorsqu'on excute lsl).
Quant au lien symbolique, c'est un fichier part entire qui contient le chemin vers
test, c'est quivalent au raccourci sous Windows.
2. Comparaison des numros d'inode :
On affiche les numros d'inode l'aide de la commande suivante :
lsitesttest1test2test3
7866006test7866683test17866006test27866786test3
On remarque les choses suivantes :

test et test2 ont le mme numro d'inode, ce qui prouve bien que c'est le
mme fichier avec 2 noms diffrents.

test1 et test3 ont quant eux des numros diffrents, ce qui est normal vu
que ce sont tous les 2 des fichiers distincts (le 1er tant une copie proprement parler
et le 2e un fichier contenant un chemin), ayant des attributs diffrents ce qui explique
que leur n d'inode varie de celui de test.
page 2

3. On supprime test (avec rmtest) puis on affiche le contenu des autres fichiers. On
constate que :
cattest1 donne Premierfichierdetest
cattest2 donne Premierfichierdetest
cattest3 donne cat:test3:Aucunfichieroudossierdecetype
On en conclut que test2 est bien une copie du fichier vu qu'elle nous a permis de
sauvegarder son contenu mme aprs avoir supprim le fichier d'origine.
test3 en revanche disparat ds lors que test est supprim car il ne contient
qu'un chemin vers ce fichier (chemin devenu inexistant aprs la suppression).
Sinon, il est normal que test1 reste inchang tant donn que c'est une copie
indpendante du fichier test.
4. On cre un nouveau fichier test l'aide de
cat>test
Deuximefichierdetest
On affiche de nouveau le contenu des autres fichiers et cela donne :
cattest1donnePremierfichierdetest
cattest2donnePremierfichierdetest
cattest3donneDeuximefichierdetest
Pour test1, c'est prvisible vu que le fichier est indpendant de test.
C'est ici que l'on voit bien que test2 est un lien physique sur test (le premier), il
n'est donc pas altr par la cration de ce nouveau fichier, et c'est l tout l'intrt
du lien physique.
test3 contient le chemin vers test et comme celui-ci (le chemin) n'a pas chang,
test3 renvoie maintenant le contenu du nouveau fichier test.
Exercice 5 : (Recherche)
1. Cration des fichiers demands :
touchannee1Annee2annee4annee45annee410annee510
annee_lunaire
2. Cration des rpertoires demands et dplacement des fichiers dans Ans :
mkdirAnsNouvelAns
mvannee1Annee2annee4annee45annee410annee510
annee_lunaireAns
Notons que Ans reprsente ici le rpertoire de destination des fichiers (sachant que
l'on se trouve dans le home directory).
3. Listes spcifiques de fichiers :
- se terminant par 5 : lsl*5
- commenant par annee4 : lslannee4*
- commenant par annee4 et de 7 lettres max : lslannee4{,?}
- commenant par annee avec aucun chiffre : lslannee*[!09]
page 3

- contenant la chaine una : lsl*una*


- commenant par a ou A : lsl[aA]*
Explications :
On introduit ici la notion de wildcard ou joker , ce sont des caractres qui
permettent d'en remplacer d'autres. Ils sont trs utiles et trs utiliss pour la
recherche.
Nous avons les wildcard suivants :
* quelque soit(ent) le(s) caractre(s)
? pour tous les caractres, au nombre des points d'interrogation
[ ] pour un seul caractre (ex. pour [abc] a sera soit a, soit b, soit c). Si on veut
que le caractre soit pris sur un intervalle, on spare les 2 extrmits par un tiret
- . Si on veut exclure un caractre, on utilise le !
{ } ont le mme rle que les crochets mais permettent de rechercher plusieurs
caractres (une chane). Exemple : lsl*.{pdf,doc}
Exercice 5 : Archivage et Compression
Archivage :
La commande tar nous permet d'archiver une (sous-)arborescence, ce qui veut dire runir
plusieurs fichiers pour les stocker dans un fichier unique.
Notons que l'archivage conserve la mme taille des fichiers (ce n'est pas une compression).
1. On cre une archive TPSYS.rar du rpertoire TPSYS l'aide de la commande
suivante :
tarcvfTPSYS.tarTPSYS
c pour create, qui veut dire qu'on va crer l'archive.
v pour verbose, c'est--dire la description des tapes de l'archivage.
f pour file, qui indique que l'on va crer un fichier d'archive.
2. On cre un rpertoire Archive et on y place TPSYS.tar comme suit :
mkdirArchive
mvTPSYS.tarArchive
3. Maintenant, on dsarchive le fichier avec la commande :
tarxvfArchive/TPSYS.tarCArchive
Ce qui aura pour effet de crer un rpertoire TPSYS dans Archive. Notons que C
est une option de la commande tar qui nous permet de changer de rpertoire
d'extraction ou d'archivage.
Compression :
4. Crons maintenant une archive compresse du rpertoire TPSYS, et ce en
excutant la commande :
tarczfTPSYS.tar.gzTPSYS
z voulant dire gzip, un format de compression.
Observons que la compression rduit la taille de l'ensemble des fichiers et nous
aide donc gagner de l'espace mmoire.
5. Pour trouver tous les fichiers se terminant par .c et les compresser, on procde
ainsi :
Si on veut chercher uniquement dans le rpertoire courant :
tarczfRep.tar.gz*.c
Si on veut chercher dans tous les rpertoires sans exception :
page 4

findname"*.c"typefexectarcfRep.tar{}+
L'option name sert indiquer le nom des fichiers chercher ;
type indique le type de document (f pour fichier) ;
exec associe {}+ sert rcuprer les fichiers partir de ce qu'on a
trouv dans name"*.c"typef
On obtient ainsi une archive contenant tous les fichiers sur l'ordinateur dont le nom
se termine par .c.

page 5

Anda mungkin juga menyukai