Vous êtes sur la page 1sur 38

Rapport 2010/2011

Prparer par:
EL BAGGAR Imane EL MAHI Sara FARHAT Khadija EL BERRI Fatima ezzahra AKENSOUS Youness

Encadr par :

Mme S.EL FILALI.

Rapport 2010/2011

Les remerciements Introduction Exercice1 Exercice2 Exercice3 Exercice4 Exercice5 Exercice6 Exercice7 Exercice8 Exercice9 Exercice10 Exercice11 Exercice12 Exercice13

3 4 5 7 8 10 11 15 17 21 25 27 31 33 36

Rapport 2010/2011

Nous souhaitons remercier dans un premier temps, toute lquipe pdagogique de la Facult de science Mohammedia et en particulier, le responsable de la formation systme dexploitation , Mme El filali Sanaa. En effet, cest grce aux sances de TP.

Rapport 2010/2011

Le terminal est un programme qui ouvre une console dans une interface graphique, il permet de lancer des commandes.

On sait trs bien quil est parfois plus simple de taper une commande que d'effectuer des manipulations demandant beaucoup de clics de souris dans une interface graphique. C'est aussi un moyen plus simple pour expliquer comment faire quelque chose quelqu'un (sur un forum par exemple), puisque il suffit d'indiquer la commande et non la suite de clics effectuer sur l'interface graphique. Cependant, mme si le terminal peut tre beaucoup plus efficace qu'une interface graphique sous les doigts d'un utilisateur avanc, il est moins abordable que les interfaces graphiques. Il est probable qu'aucune des deux mthodes (commandes ou interface graphique) ne remplacera compltement l'autre car elles se compltent plus qu'elles ne rivalisent. Depuis la version 10.04 le terminal peut tre lanc grce au raccourci clavier : Ctrl + Alt + T (sous Gnome-Panel et Unity). L'utilisation est assez simple, tapez une commande (ou copiez-collez la) et faites Entre (clavier) pour l'excuter. Les raccourcis pour le copi-coll ne sont pas Crtl+C Ctrl+V par dfaut, mais Maj+Ctrl+C et Maj+Ctrl+V. Dans un terminal le raccourci Ctrl+C annule la commande en cours. Il est possible de modifier les raccourcis du Terminal, voir en bas de page la rubrique personnaliser son terminal c'est toutefois une opration qui prsente des risques.

Rapport 2010/2011

Exercice 1 :
1) Dans votre rpertoire courant, crez en une commande les fichiers suivants: annee1 Annee2 annee4 annee45 annee41 annee510 en utilisant la commande touch 2) Lister tous les fichiers Se terminant par 5 ; Commenant par annee4 ; Commenant par annee4 et de 7 caractres ; Commenant par annee et se terminant par chiffre numrique ; Contenant la chane ann ; Commenant par a ou A. 3) Crer les rpertoires Year et tmp dans votre rpertoire courant, en une commande dplacez les fichiers prcdemment crs dans le rpertoire Year. 4) Copier les fichiers dont l'avant dernier caractre est un 4 ou 1 dans le rpertoire tmp en une seule commande. 5) Rpter la commande de la question 4 en utilisant loption i 6) Rpter la commande de la question 4 en utilisant loption f 7) en une seule commande vider le contenue de votre rpertoire courant (travail).

Objectifs:
- Crer en une commande un fichier dans le rpertoire courant . - Lister des fichiers qui ont des critres prcises - dplacer des fichiers prcdemment crs dans un rpertoire . - Copier des fichiers dans un rpertoire en une seule commande. - Copier des fichiers dans un rpertoire en utilisant loption i - Copier des fichiers dans un rpertoire en utilisant loption f - vider le contenue du rpertoire courant en une seule commande.

Rapport 2010/2011

Syntaxe:
- touch pour crer un fichier dans le rpertoire courant - ls :Affiche les attributs dun fichier - mkdir : pour crer un rpertoire - rm -r : pour supprime une arborescence - cp : sert copie des fichiers dans un rpertoire - Les commandes cp, mv : $mv [Option] Fichier1 Fichier2 $cp [Option] Fichier1 Fichier2 Principales options : -i : la commande cp demande une confirmation de remplacement dune destination dj existante -f : a leffet inverse de supprimer la demande de confirmation implicite pour les destinations dj existantes et protges.

La solution :
1) touch annee1 Annee2 annee4 annee45 annee41 annee510 2) ls *5 ls annee4* ls annee4? ls annee[0-9] ls *ann* ls [a,A]* ou ls [aA]* 3) mkdir Year tmp & mv [aA]* Year

4) cp Year/* [41]? Tmp 5) cp -i *[1 4]? Year tmp 6) cp -f *[1 4]? Year tmp 7) rm -r smis4
6

Rapport 2010/2011

Exercice 2 :
Soit larborescence suivante :

1) Dans votre rpertoire personnel, cre en une seul commande les rpertoires. ci-dessus en utilisant la commande mkadir avec loption P. 2) Crer le fichier ch1 dans le rpertoire F22. 3) Copier ch1 dans F11 sous le nom ch2. 4) Lier ch2 ch4 dans F13. 5) Modifier le fichier ch2 en utilisant la commande cat. 6) Afficher le contenue du fichier ch4 . 7) Supprimer le fichier ch2. 8) Quel est le nombre de liens pour chacun des fichiers suivants :ch1,ch4 . 9) Supprimer de deux faon les deux arborescences suivantes :F1 et F2

Objectifs :
Lobjectif de cet exercice est de connaitre des nouvelles commandes qui permet de grer les fichiers sur le systme dexploitation UNIX .on va ngliger un peu les commandes quon a dj citer dans le premier exercice .bref ,les commandes qui sont utilises dans cet exercice sont : - Cd : cest une commande de la gestion des fichiers, et qui permet de changer le rpertoire . - Cat : cest une commande de gestion des fichiers, qui permet dafficher le contenu dun fichier texte. - Ln : cest une commande qui permet de crer des liens dans larborescence dun systme de fichiers pour un mme fichier physique.

Syntaxe :
La syntaxe pour la premire commande cd : $ Cd le nom du fichier que vous voulez changer.
7

Rapport 2010/2011

La syntaxe pour la premire commande cat : $Cat chemin daccs de fichier. La syntaxe pour la premire commande ln : $ln nom du premier fichier nom du deuxime fichier.

Solution :
1) Cd Bureau 2) mkadir mkadir -p F1 /F11 F1/F12 F1/F13 3) mkadir mkadir -p F2 /F21 F2/F22 F2/F23 4) touch F2/F22/ch1 5) cp F2/F22/ch1 F1/F11/ch2 6) ln F1/F11/ch2 7) cat > F1/F11/ch2 8) cat F1/F13/ch4 9) rm F1/F11/ch2

Exercice 3 :
1) Dans votre rpertoire courant, crez en une commande les fichiers suivant : annee1 Annee2 annee4 annee45 annee41 annee510 en utilisant la commande touch. 2) Dans votre rpertoire courant, crez le rpertoire R 3) Dans votre rpertoire courant, copier la liste des fichiers et leur attribues dont lavant dernier caractre est un 4 ou 1 dans le fichier ch1 dans R. 4) Afficher le contenue de ch1. 5) Copier la date du systme dans le fichier ch1 dans R. 6) Afficher le contenue de ch1. 7) Ajouter au contenu du fichier ch1, la liste des fichiers et leur attribues dont lavant dernier caractre est un 4 ou 1. 8) Que se passe-t-il si vous taper les commandes suivantes : -ls -wc -ls l < -l [Aa]* ch2 [Aa]* | wc > ch2

wc (imprime le nombre de lignes, de mots et de caractres fournis lentre standard).

Rapport 2010/2011

Objectifs :
-ls -wc -ls ch2). l < -l [Aa]* > ch2 la liste des fichiers et leur attributs qui commence par a ou A seront afficher (copier) dans ch2. ch2 cette commande permet dafficher le nombre de lignes, de mots et de [Aa]* | wc cette commande = ( -ls l [Aa]* > ch2 ) + (-wc < caractres qui se trouve dans ch2.

Syntaxe :
touch : cette commande permet de crer des fichiers. mkdir : cette commande permet de crer des rpertoires. ls -l : permet dafficher les attributs dun fichier. date > poub : la date crase le contenu du fichier poub et il sera afficher dans poub. date >> poub : la date sera afficher dans poub sans craser son contenu. cat (Fichier) : la commande cat permet dafficher le contenu du Fichier . wc : permet de compter le nombre de ligne, de mot ou de caractre dun fichier .

La solution :
1) ...$ touch annee1 Annee2 annee4 annee45 annee41 annee510 2) $ mkdir R 3) ls l * [41]? > R/ch1 4) cat R/ch1 5) date > R/ch1 6) cat R/ch1 7) ls -l *[14]? >> R/ch1 8) la rponse est dans les remarques .

Rapport 2010/2011

Exercice 4 :
1) Ouvrer vi et tap le texte suivant : Comment se connecter sous UNIX ? Le premier concept important garder en mmoire avant de travailler avec UNIX ou sa version PC Linux est quil sagit dun systme multi-utilisateurs. Laccs la machine UNIX doit donc tre contrl. Pour tre enregistr sous UNIX, il faut avoir un compte utilisateur (login, password) cre par ladministrateur systme. Ladministrateur est un super utilisateur qui a les droits de gestion du systme (login root ou su). 2) Enregistrer ce fichier sous le nom de fiche1. 3) Ajouter le texte suivant : Login : (Taper votre nom dutilisateur) Le systme affiche alors le message : password : (Vous devez alors rentrer votre mot de passe) Trouver un bon mot de passe : Voici quelques conseils qui vous permettront de trouver un mot de passe le plus sr possible. utiliser des majuscules et des minuscules. utiliser des chiffres et des caractres spciaux. 7 8 caractres de long concatner des mots pour en crer un autre 4) Quitter vi en sauvegardant les modifications. 5) Rechercher toutes les lignes qui commence par le ou la. 6) Rechercher toutes les lignes qui contiennent des caractres crits en majuscule. 7) Rechercher dans tout le texte les occurrences dutilisateur et remplacer les par user. 8) Rechercher toutes les occurrences de * dans le texte.

Objectifs :
Savoir comment utiliser la commande vi.

Syntaxe :
Vi : est un diteur de texte prsent en standard sous UNIX. :w nom fichier : permet de sauvegarder le contenu du buffer le fichier dont le nom est donn comme argument :q : sortir de vi en sauvegardant .

10

Rapport 2010/2011

La solution :
1) vi 2) : w fiche1 3) vi fiche1 4) : q 5) : / ^ [Ll] [ae] 6) :/ [A-Z] 7) : o,P S/utilisateur/User/gc 8) :/*

Exercice 5 :
1) Ouvrer vi et tap le texte suivant Ali:13:022568779:Casablanca Omar:55:022556378:Rabat Adil:56:039884596:Tanger Noureddine:80:022998766:Fes Zakaria:89:023363398:Marrakech Reda:79:022225262:Oujda Mohamed:72:023055566:Eljadida Boubker:72:022088089:Tanger Khalid:79:022056595:Casablanca Mustapha:89:022358856:Fes Aziz:56:022569676:Eljadida 2) Sauvegarder ce contenu sous le nom carnet-adresse. 3) Ouvrir vi en ditant le fichier carnet-adresse et ajouter le texte suivant : Saloua:80:022151113:Marrakech Fatima:55:022198922:Rabat Halima:13:022343533:Oujda Nadia:56:022990939:Eljadida Ilham:80:022897444:Fes Fatiha:79:022568222:Oujda Mina:13:023256978:Rabat Khadija:56:055569955:Marrakech Saadia:89:039568456:Casablanca Imane:55:055562378:Tanger Madiha:72:039256696:Oujda
11

Rapport 2010/2011

4) Sauvegarder les modifications. Le fichier carnet-adresse contient quatre champ : Le premier champ reprsente le nom, le deuxime le code du dpartement, le troisime le numro de tlphone et le dernier la ville. Attention le premier champ est not 0, le deuxime 1, ainsi de suite. 5) Compter le nombre ligne, mot et caractres du fichier carnet-adresse. 6) Crer le fichier carnet-adresseA qui contient les 10 lignes premires du fichier carnet-adresse. 7) Ranger toutes les lignes par ordre alphabtique en effectuant un tri sur le premier caractre du fichier carnet-adresse. 8) Effectuer un tri invers sur le deuxime champ 9) Effectuer un tri sur le deuxime caractre du champ Numro 4 (ville) 10) Crer en une seule commande le fichier carnetadresse-tri qui contient les 10 premires lignes du tri sur le champ Numro 4 (ville) 11) Extraire les 10 premiers caractres de chaque ligne du fichier carnet-adresse. 12) Crer en une seule commande le fichier carnetadresseB qui contient deux champs de toutes les lignes. 13) Crer en une seule commande le fichier carnetadresseC qui contient les 10 premiers caractres de toutes les lignes.

Objectifs :
- Savoir le rle de la commande vi avec ses mode dinsertions et de commandes. - Dcouvrir la commande sort et ses options. - Dcouvrir la commande cut et ses options.

Syntaxe :
vi est vi est un diteur de texte prsent en standard sous UNIX. Il prsente la particularit de possder deux modes de travail : - Mode commande : dans lequel lutilisateur spcifie les requtes de traitements du fichier ;
12

Rapport 2010/2011

- Mode insertion : dans lequel tout ce qui est entr au clavier est crit dans le tampon de mmoire associ au fichier. - Pour ouvrir un fichier existant ou pour crer un nouveau fichier, il suffit dutiliser la syntaxe suivante : vi nom_fichier. - A lappel de lditeur, on se trouve dans le mode commande. Plusieurs commandes dinsertion de texte permettent de passer en mode insertion, alors que pour passer du mode insertion au mode commande, on tape le caractre dchappement ESC. La commande sort permet deffectuer un tri dun fichier en sappuyant sur la notion de champ. Un champ commence aprs une fin de ligne ou lorsquon rencontre un sparateur de champ. - Syntaxe $sort [-options] [+pos1] [-pos2] fichier

- La commande cut permet dextraire certains champs dun fichier. $ cut [option] fichier

La solution :
1) vi Ali:13:022568779: Casablanca Omar:55:022556378:Rabat Adil:56:039884596:Tanger Noureddine:80:022998766:Fes Zakaria:89:023363398:Marrakech Reda:79:022225262:Oujda Mohamed:72:023055566:Eljadida Boubker:72:022088089:Tanger Khalid:79:022056595:Casablanca Mustapha:89:022358856:Fes
13

Rapport 2010/2011

Aziz:56:022569676:Eljadida 2) on frappe la touche ESC aprs on tape : w carnet-adresse 3) vi carnet-adresse Saloua:80:022151113:Marrakech Fatima:55:022198922:Rabat Halima:13:022343533:Oujda Nadia:56:022990939:Eljadida Ilham:80:022897444:Fes Fatiha:79:022568222:Oujda Mina:13:023256978:Rabat Khadija:56:055569955:Marrakech Saadia:89:039568456:Casablanca Imane:55:055562378:Tanger Madiha:72:039256696:Oujda 4) on frappe la ouche ESC aprs on tape :q 5) wc carnet-adresse 6)head -10 carnet-adresse> carnet-adresseA 7) sort carnet-adresse 8) sort t: +1 -2 r n carnet-adresse 9) sort t: +3.1 -4 carnet-adresse 10) sort t: +3 -4 carnet-adresse | head -10 > carnet-adresse-tri 11) cut c 1-10 carnet-adresse 12) cut d: -f1.3 carnet-adresse > carnet-adresseB 13) cut c 1-10 carnet-adresse > carnet-adresseC

14

Rapport 2010/2011

Exercice 6 :
Le fichier carnet-adresse de lexercice prcdent (Exercice 2) contient quatre champ : Le premier champ reprsente le nom, le deuxime le code du dpartement, le troisime le numro de tlphone et le dernier la ville. Attention le premier champ est not 0, le deuxime 1, ainsi de suite. 1) Ouvrer vi et tap le texte suivant 13:informatique 55:comptabilit 56:commerciale 80:stock 89:fabrication 72:direction 79:maintenance 2) Sauvegarder ce contenu sous le nom departement. Le fichier departement contient deux champs : Le premier champ reprsente le code du dpartement, le deuxime le nom du dpartement. 3) Crer en une seule commande le fichier dpartement- trie en effectuant un tri sur le champ N 1 (code du dpartement) du fichier dpartement. 4) Crer en une seule commande le fichier carnet-adresse-trie en effectuant un tri sur le champ N 2 (code du dpartement) du fichier carnet-adresse. 5) Faire la jointure entre les fichiers : a) departement et carnet-adresse b) departement-trie et carnet-adresse c) departement et carnet-adresse-trie d) departement-trie et carnet-adresse-trie 6) Editer le fichier departement et copier / coller tous les lignes la fin du fichier. Et sauvegarder les modifications dans le fichier departementdoublant. 7) Applique la commande uniq sur le tri du fichier departement-doublant pour liminer les lignes dupliques. 8)Editer le fichier departement est remplace respectivement informatique,comptabilit par info, compta. Sauvegarder les modifications dans le fichier departement-comm. 9) Applique la commande comm sur les fichiers departement et departement-comm. Pour visualiser les lignes communes et non communes. 10)Applique la commande comm sur lesfichiers departement et departement-doublant. Pour visualiser les lignes communes et non communes. 11) Crer en une seule commande le fichier carnet- adresse-triA qui contient les 10 premires lignes de la jointure des deux fichiers departement-trie et carnetadresse-trie. 12) Crer en une seule commande le fichier carnet- adresse-triB qui contient les 10 premires lignes du tri du champ ville de la jointure des deux fichiers departement-trie et carnetadresse-trie.
15

Rapport 2010/2011

Objectifs :
Dcouvrir la commande join et ses options. Dcouvrir la commande uniq et ses options. Dcouvrir la commande comm et ses options.

Syntaxe :
- La commande join permet la jointure de deux fichiers tris ayant un champ commun (fusionner les lignes de deux fichiers tris ayant un champ commun). Syntaxe $ join [j1|2]m tx [-o list] fichier1 fichier2 - La commande comm permet dafficher les lignes communes et non communes de deux fichiers tries. Le rsultat est prsent en 3 colonnes. La premire contient les lignes qui se trouvent uniquement dans le fichier 1, la deuxime colonne celles qui se trouvent dans le fichier 2, la troisime contient les lignes communes. Les options 1, -2, -3 permettent de supprimer une ou plusieurs colonnes. Syntaxe $ comm [123] fichier1 fichier2 - La commande uniq est un filtre qui agit sur les lignes rptes dun fichier tri (limine les lignes dun fichier dupliques dans un fichier). Syntaxe $ uniq fichier1

La solution :
1) vi 13:informatique 55:comptabilit 56:commerciale 80:stock 89:fabrication 72:direction 79:maintenance 2) :w dapartement

3) sort -t: +0 -1 n departement > departement - trie 4) sort t : +1 -2 -n carnet-adresse > carnet-adresse-trie
16

Rapport 2010/2011

5) a) join -t : -j1 1 -j2 2 -o 1.1 2.2 departement carnet-adresse b) join -t : -j1 1 -j2 2 -o 1.1 2.2 departement-trie carnet-adresse c) join t : -j1 1 j2 2 -o 1.1 2.2 departement carnet-adresse-trie d) join t : -j1 1 j2 2 -o 1.1 2.2 departement-trie carnet-adresse-trie 6) cat departement > > departement-doublant 7) uniq departement-doublant > departement-doublant 8) vi departement :o,$ s /informatique /info :o,$ s/comptabilit/compta :w departement comm 9) comm departement departement-comm 10) comm departement adresse-trieA 12) sort -t : +3 -4 carnet-adresse-trie | join -t : -j1 1 -j2 2 -o 1.1 2.2 departement-trie carnet adresse-trie | head -10 > adresse-trieB departement-doublant

11) join -t : -j1 1 j2 2 o 1.1 2.2 departement-trie carnet-adresse-trie | head -10 >

Exercice 7 :
1) Dans votre rpertoire de travail personnel, crer un rpertoire que vous appellerez catalogue et les fichiers suivants : fich1, fich2, fich3, prog.c, f1.c, f2.c. 2) Quels sont les droits daccs attribus ces fichiers. 3) Placez les valeurs de ces droits daccs aux fichiers suivants fich1:rwxrw-r-fich2:r-- r-- r-fich3:--x--xr-Utilisez les deux formes symbolique et octale. 4) Dplacez vous dans le rpertoire catalogue et crez un fichier fich4 non vide. 5) Comment appeler la commandes umask pour attribuer tous les nouveaux fichiers les droits daccs rw-r--r--.
17

Rapport 2010/2011

6) Changer les modes daccs de tous les fichiers qui ont une extension .c enrw-r--r--. 7) Mme chose en notation symbolique. 8) Supprimer le mode x pour le groupe au niveau du fichier fich3. 9) Rajoutez le mode w pour le propritaire et enlevez r aux autres du fich3 10) Changer le propritaire et le group de ce fichier.

Objectifs :
-Crer un rpertoire et des fichiers - citer les droits daccs attribus ces fichiers. - Placez des valeurs des droits daccs un fichier en utilisant deux formes symbolique et octale. - appeler la commandes umask pour attribuer un fichier des droits daccs . - Changer les modes daccs de tous les fichiers qui ont une extension .c enrw-r--r--. - Mme chose en notation symbolique. - Supprimer et rajouter des modes pour le groupe et le propritaire au niveau dun fichier . - Changer le propritaire et le group dun fichier.

Syntaxe :
- touch pour crer un fichier dans le rpertoire courant - mkdir : pour crer un rpertoire - ls -l fichier:Affiche les droits dacce attributs au fichier fichier -Forme symbolique : $chmod U=rwx,g= rwx,O= rwx fich Forme octale: $Chmod R fich1 avec R est est obtenu en ralisant une opration logique entre les droits lmentaire positionner.
18

Rapport 2010/2011

400 droit de lecture pour le propritaire 200 droit dcriture pour le propritaire 100 droit dexcution pour le propritaire 040 droit de lecture pour le groupe 020 droit dcriture pour le groupe 010 droit dexcution pour le groupe 004 droit de lecture pour les autres 002 droit dcriture pour les autres 001 droit dexcution pour les autres - $Umask - $chmod 644 *.c - chmod U=rw- ,g=r--,O=r-- *.c -chmod g-x fich3 -chmod U(+ou-) (rwx) fichier - La commande qui permet de changer le propritaire dun fichier : chown nouveau-propritaire nom-fichier - La commande qui permet de changer le groupe dun fichier : chgrp nouveau-groupe nom-fichier

La solution :
1)mkdir catalogue touch fich1 fich2 fich3 prog.c f1.c f2.c 2) ls l fich1 ls l fich2 ls l fich3 ls l prog.c ls l f1.c
19

Rapport 2010/2011

f2.c 3) Forme symbolique :

fich1 :rwx rw- r-- : $chmod U=rwx,g=rw-,O=r-- fich1 fich2 :r-- r-- r-- : $chmod U=r-- ,g=r--,O=r-- fich2 fich3 :--x --x r-- : $chmod U=--x,g=--x,O=r-- fich3 Forme octale: $Chmod 764 fich1 $Chmod 444 fich2 $Chmod 114 fich3 4) touch 5) rw- r-- r-- donne 644 666-644 = 022 alors la commande demande est : $Umask 022 6)$chmod 644 *.c 7) chmod U=rw- ,g=r--,O=r-- *.c 8)chmod g-x fich3 9)chmod U+w ,o-r fich3 10) chown util1 fichier3 Chgrp grap1 fichier3

20

Rapport 2010/2011

Exercice 8 :

1)

Dans votre rpertoire personne1, crer larborescence suivante :


/home/userxg1

Rep

F0

F1

F2

F3

F4

F5

F6

F7

2) Dans le rpertoire F0 crez les fichiers suivants: fich01, fich02, fich03. 3) Dans le rpertoire F1 crez les fichiers suivants: fich11, fich12, fich13. 4) Dans le rpertoire F2 crez les fichiers suivants: fich21, fich22, fich23. 5) Dans le rpertoire F3 crez les fichiers suivants: fich31, fich32, fich33. 6) Dans le rpertoire F4 crez les fichiers suivants: fich41, fich42, fich43. 7) Dans le rpertoire F5 crez les fichiers suivants: fich51, fich52, fich53. 8) Dans le rpertoire F6 crez les fichiers suivants: fich61, fich62, fich63. 9) Dans le rpertoire F7 crez les fichiers suivants: fich71, fich72, fich73. 10) 11) Quels sont les droits daccs attribus aux rpertoires et aux fichiers de chaque Utilisez soit cat soit vi pour emplir respectivement les fichiers fich01, fich11... rpertoire. fich71 de chaque rpertoire par bonjour fcih01 , bonjour fich11 , bonjour fich71 12) F0 F1 F2 F3 F4 F5 F6 F7 Placez les valeurs de ces droits daccs aux rpertoires suivants : : : : _________ ___r _____ ____w____

: _____x____ : ___r_x___ : ____wx___ : ___rw____ : ___rwx___


21

Rapport 2010/2011

13) 14) 15)

Appliquez les commandes ls et cd chaque rpertoire quest ce que vous remarquez. Dans votre rpertoire du travail ditez les fichiers F0/fich01, F1/fich11, Placez les valeurs de ces droits daccs aux rpertoires suivants : F0 : _ _ _ _ _ _ _ _ _ F1 : r _ _ r _ _ _ _ _ F2 : _ w _ _ w _ _ _ _ F3 : _ _ x _ _ x _ _ _ F4 : r _ x r _ x _ _ _ F5 : _ w x _ w x _ _ _ F6 : r w _ r w _ _ _ _ F7 : r w x r w x _ _ _

F7/fich71. Quest ce que vous remarquez.

16) 17)

Appliquez les commandes ls et cd chaque rpertoire. Quest ce que vous Dans votre rpertoire du travail ditez les fichiers F0/fich01, F1/fich11,

remarquez ? F7/fich71. Quest-ce que vous remarquez ?

Objectifs :

Le but est : quand on a le droit dutiliser les deux commandes cd & ls

Syntaxe :
mkdir -p = une commande qui nous permet de crer un arborescence (des rpertoires qui sont fournis en argument). chmod fichiers. ls ls -l cd comme le vi nom_fichier = = affiche les attributs dun fichier. affiche tous les attributs dun fichier. = permet un propritaire ou ladministrateur de modifier les droits de ces

= cette commande permet juste de changer le rpertoire. = cette commande nous aide dajouter des infos nos fichiers fichier nom_fichier . = comme a on peut aussi ajouter des infos dans le fichier :q pour quitter en sauvegardant les modifications.

cat > nom_fichier

nom_fichier , et on tape la commande

22

Rapport 2010/2011

Solution :
1) mkdir -p Rep/F0 Rep/F1 Rep/F2 Rep/F3 Rep/F4 Rep/F5 Rep/F6 Rep/F7 2) touch Rep/F0/fich01 Rep/F0/fich02 Rep/F0/fich03 3) touch Rep/F1/fich11 Rep/F1/fich12 Rep/F1/fich13 4) touch Rep/F2/fich21 Rep/F2/fich22 Rep/F2/fich23 5) touch Rep/F3/fich31 Rep/F3/fich32 Rep/F3/fich33 6) touch Rep/F4/fich41 Rep/F4/fich42 Rep/F4/fich43 7) touch Rep/F5/fich51 Rep/F5/fich52 Rep/F5/fich53 8) touch Rep/F6/fich61 Rep/F6/fich62 Rep/F6/fich63 9) touch Rep/F7/fich71 Rep/F7/fich72 Rep/F7/fich73 10) 11) ls l cat > Rep/F0/fich01 entre bonjour fich01 bonjour fich02 bonjour fich03

cat > Rep/F0/fich02 entre cat > Rep/F0/fich03 entre

cat > Rep/F1/fich11 entre bonjour fich11 cat > Rep/F1/fich12 entre bonjour fich12 cat > Rep/F1/fich13 entre bonjour fich13 cat > Rep/F2/fich21 entre bonjour fich21 cat > Rep/F2/fich22 entre cat > Rep/F2/fich23 entre cat > Rep/F3/fich31 entre cat > Rep/F3/fich32 entre cat > Rep/F3/fich33 entre cat > Rep/F4/fich41 entre cat > Rep/F4/fich42 entre cat > Rep/F4/fich43 entre cat > Rep/F5/fich51 entre cat > Rep/F5/fich52 entre bonjour fich22 bonjour fich23 bonjour fich31 bonjour fich32 bonjour fich33 bonjour fich41 bonjour fich42 bonjour fich43 bonjour fich51 bonjour fich52

cat > Rep/F5/fich53 entre bonjour fich53 cat > Rep/F6/fich61 entre bonjour fich61 cat > Rep/F6/fich62 entre bonjour fich62 cat > Rep/F6/fich63 entre bonjour fich63 cat > Rep/F7/fich71 entre cat > Rep/F7/fich73 entre bonjour fich71 bonjour fich73 cat > Rep/F7/fich72 entre bonjour fich72

23

Rapport 2010/2011

12)

chmod 000 Rep/F0

chmod 040 Rep/F1 chmod 020 Rep/F2 chmod 010 Rep/F3 chmod 050 Rep/F4 chmod 030 Rep/F5 chmod 060 Rep/F6 chmod 070 Rep/F7

cd Rep /F0 entre ls Rep/F0 entre cd Rep /F1 entre ls Rep/F1 entre 13) cd Rep /F2 entre ls Rep/F2 entre cd Rep /F3 entre ls Rep/F3 entre cd Rep /F4 entre ls Rep/F4 entre cd Rep /F5 entre ls Rep/F entre cd Rep /F6 entre ls Rep/F6 entre cd Rep /F7 entre ls Rep/F7 entre les deux commandes ls et cd ne vont pas marcher parce quon a chang les droits daccs de chaque rpertoire dans la question prcdente. 14) 15) Pour cette question on na pas le droit dditer ces fichiers F0/fich01, F1/fich11, , chmod 000 Rep/F0 F7/fich71. chmod 440 Rep/F1 chmod 220 Rep/F2 chmod 110 Rep/F3 chmod 550 Rep/F4 chmod 330 Rep/F5

24

Rapport 2010/2011

chmod 660 Rep/F6 chmod 770 Rep/F7 16) cd Rep /F0 entre ls Rep/F0 entre cd Rep /F1 entre ls Rep/F1 entre cd Rep /F2 entre ls Rep/F2 entre cd Rep /F3 entre ls Rep/F3 entre cd Rep /F4 entre ls Rep/F4 entre cd Rep /F5 entre ls Rep/F entre cd Rep /F6 entre ls Rep/F6 entre cd Rep /F7 entre ls Rep/F7 entre

Exercice 9 :
1) Ouvrer vi et tap le texte suivant ali:13:022568779:Casablanca omar:55:022556378:Rabat adil:56:039884596:Tanger noureddine:80:022998766:Fes boubker:72:022088089:Tanger khalid:79:022056595:Casablanca aziz:56:022569676:Eljadida 2) Sauvegarder ce contenu sous le nom carnet-adresse. 3) Afficher les lignes commenant par les caractres compris entre a et d.
25

Rapport 2010/2011

4) Afficher les lignes contenant la chane de caractres Casablanca.

Objectifs :
- Utiliser la commande grep pou chercher et afficher des lignes tout en utilisant ses options.

Syntaxe :
La commande grep : La commande grep es t une commande de recherche qui permet de rechercher des lignes dans un fichier ou plusieurs. Syntaxe : $grep[option] "modle de critre" [fichier ]

Solution :
1) vi ali:13:022568779: Casablanca omar:55:022556378: Rabat adil:56:039884596:Tanger noureddine:80:022998766:Fes boubker:72:022088089:Tanger khalid:79:022056595:Casablanca aziz:56:022569676:Eljadida

2) :w carnet-adresse 3) grep " ^ [a-d] " carnet-adresse

4) grep -i "Casablanca" carnet-adress

26

Rapport 2010/2011

Exercice 10 :
1) Dans votre catalogue de travail, crer un fichier grepo, qui contient le texte suivant : Janvier Fvrier Mars Avril Mai Juin Juillet Septembre Novembre Dcembre Aot Rechercher les lignes ayant les caractristiques suivantes : -Le caractre "vr" un endroit quelconque. -Le texte "mbre" en fin de ligne. - Le caractre "a" en dbut de ligne quelle soit en minuscule ou majuscules. - La chane de caractre "mai" est seule dans la ligne quelle soit en minuscule ou majuscules. 2) Copier le fichier /etc/passwd dans votre rpertoire courant. Rechercher dans ce fichier lensemble des lignes qui commencent par votre nom dutilisateur. En dduire les informations qui concernent votre compte utilisateur. 3) Dans ce mme fichier rechercher les lignes qui identifient les utilisateurs ne faisant pas partie du mme groupe que vous. 4) Donner la liste des utilisateurs dont le UID varie entre 500 et 599 5) Le nombre dutilisateurs qui utilisent comme programme initial dans passwd le /bin/bash 6) Donner la liste des utilisateurs dont le nom contient la lettre qui se rpte 2 fois 7) tous les utilisateurs dont le champ commentaire nest pas vide
27

Rapport 2010/2011

8) La ligne de commande suivante retourne le nombre de lignes du fichier Liste qui contiennent la chane de caractres em : $ grep c "em" liste Donner la ligne de commande qui permet daboutir au mme rsultat sans loption c.

Objectifs:
-Rechercher des lignes ayant des caractristiques prcises. -Copier le fichier /etc/passwd dans le rpertoire courant - Rechercher dans ce fichier lensemble des lignes qui commencent par le nom dutilisateur. -dduire les informations qui concernent le compte utilisateur. -Dans ce mme fichier rechercher les lignes qui identifient les utilisateurs ne faisant pas partie du mme groupe que lutilisateur. -trouver la liste des utilisateurs dont le UID varie entre 500 et 599 -trouver le nombre dutilisateurs qui utilisent comme programme initial dans passwd le /bin/bash -trouver la liste des utilisateurs dont le nom contient la lettre qui se rpte 2 fois -citer tous les utilisateurs dont le champ commentaire nest pas vide.
Donner la ligne de commande qui permet daboutir au mme rsultat sans loption c dans la commande suivante : $ grep c "em" liste .

Syntaxe :
La commande cp $cp r r1 r2 La commande cp r copie larbre issu du rpertoire r1 vers le rpertoire r en une seule opration .Deux cas de figure se prsente : -Le rpertoire distination r2 nexiste pas . Larbre situ sous r1 est copi sous le rpertoire r2 qui est cre par la commande. -Le rpertoire distination r2 existe. Le rpertoire source r1 et larbre situ sous r1 sont copies sous le rpertoire r2 . La commande wc
28

Rapport 2010/2011

La commande wc permet de compter le nombre de ligne dun fichier, mais aussi le nombre de mot ou de caractres.

$ wc [option] fichier Pour avoir le nombre de ligne loption est l, loption w compte le nombre de mot, loption c compte le nombre de caractres. La commande cut La commande cut permet dextraire certains champs dun fichier. $ cut [option] fichier Les options de cut sont les suivantes : -c -f Extrairesuivantlenombrede caractres Extraire suivant le nombre de champs

-dx Le caractre x est le sparateur de champ Avec la commande cut, contrairement sort, le premier champ a comme numro 1, le deuxime 2 est ainsi de suite. Fichier /etc/passwd Tous les utilisateurs sont grs par le fichier /etc/passwd. Chaque ligne de ce fichier correspond un utilisateur. Une ligne comprend 7 champs spars par le caractre : qui sert de sparateur entre les divers champs. Une ligne contient les informations suivantes : Nom-utilisateur:mot de passe:UID:GID:commentaire:catalogue de travail:programme-initial La commande grep Recherche de lignes dans un fichier ou plusieurs. $grep[option] "modle de critre" [fichier ] Les caractres spciaux pour laborer un modle de critre sont les suivants :

Caractre

Signification

Un caractre quelconque

Caractre prcdent le $ en fin de ligne

29

Rapport 2010/2011

Dbut de ligne

\{..\}

Nombre spcifi entre les accolades dfinit de manire prcise le nombre de rptition du caractre plac avant

Les options possibles en utilisant la commande grep sont les suivantes.

Option

Signification

-v

Toutes les lignes qui ne correspondent pas au critre sont transmises au canal de sortie standard

-c

Retourne le nombre de lignes qui correspond au critre sans afficher ces lignes.

-i

Ne tient pas compte des diffrences entre minuscules et majuscules

La solution:
1)vi Janvier Fvrier Mars Avril Mai Juin Juillet Septembre
30

Rapport 2010/2011

Novembre Dcembre Aot grep "vr" grepo grep " mbre$" grepo grep i "^a" grepo grep i "^mai$" grepo 2)cp /etc/passwd ./ grep i "^administrateur:" passwd administrateur:x:1000:1000:Administrateur,,,:home/administrateur:/bin/bash 3)cut d: -f1,4 passwd | grep v ":500$" 4)cut d: -f1,3 passwd | grep ":5[0-9][0-9]$" 5)cut d: -f1,7 passwd | grep ":/bin/bash$" | wc l Ou bien cut d: -f1,7 passwd | grep c ":/bin/bash$" 6)cut d: -f1 passwd | grep "aa" Ou bien cut d: -f1 passwd | grep "a\{2\}" 7)cut d: -f1,5 passwd | grep ":." 8)grep "em" liste | wc l .

Exercice 11 :
1) Afficher tous les fichiers qui commencent par a`majuscule ou minuscule. 2) Afficher tous les fichiers qui se composent de 3 caractres dont le dernier est M. 3) Sauvegarder tous les noms de fichiers se terminant soit par a, b ou c dans un fichier F1. 4) Crer les fichiers suivants dans un rpertoire :a1, a2, a3a9 et afficher les 5 premiers 5) Afficher tous les noms de fichiers rpertoires commenant par une lettre majuscule. 6) Afficher tous les noms de fichiers de lutilisateur webmaster1 qui appartient au groupe webos .
31

Rapport 2010/2011

7) Afficher tous les fichiers normaux ayant pour taille plus de 150 Ko. 8) Afficher tous les fichiers dont les dernires modifications remontent moins de trois jours. 9) Afficher tous les rpertoires ayant les autorisations daccs rwxr-xr-x . 10) 11) 12) Supprimer tous les fichiers auxquels vous navez pas accds depuis plus de deux Afficher tous les fichiers rpertoires ou les fichiers dont le nom se termine par le Afficher tous les fichiers qui nappartiennent pas a lutilisateur userxg1 . semaines. caractre a.

Objectifs :
Cet exercice nous a montr un peu le rle de la commande find , qui sert chercher le nom dun fichier.

Syntaxe :
$find rpertoire de dpart critres de slection options de commande.

Solution :
1) $find / -name "[a-A] *" -print 2) $find / -name "??M" -print 3) $find / -name "*[a b c] " > F1 4) $touch a1 a2 a3 a4 a5 a6 a7 a8 a9|find -name "a[1-5]" 5) $find / -type d - name "[A-Z] *" 6) $find / -user "webmasters1" -a -group "webos" 7) $find /-type f -size "+150K" 8) $find /-type f -mtime -3 9) $find /-type d -perm 755 10) 11) 12) $find /-type f -atime +15 -exec rm $find /(-type d -o type f) -name "*a" $find ! -user "user xg"

32

Rapport 2010/2011

Exercice 12 :
1) Ecrire un script shell qui donne le nombre de sous rpertoire et de fichier en partant du niveau courant. 2) Ecrire un script shell qui donne le nombre de sous rpertoire et de fichier contenus dans une arborescence dont le chemin sera donn en paramtre. 3) Ecrire un script shell qui donne le nombre de sous rpertoire et de fichier contenus dans une arborescence dont le chemin sera demand lutilisateur. 4) Mme chose que pour la question 3 en vrifiant que le nom du rpertoire de dpart est valide. 5) Ecrire un script shell qui donne poue une arboresence donn le nombre de fichiers excutables, de fichiers accessibles en lecture, et de fichiers accessibles en criture. 6) Faire un script qui cre un certain nombre de fichiers, ce nombre tant pass en paramtre (fich00, fich01, fich02, ). Faire un script shell qui donne les informations suivantes : - Nom de lutilisateur -Son groupe -Son programme initial (son shell) - Catalogue de travail En utilisant les fichiers /etc/passwd et /etc/group.

Objectifs :
-Comment utiliser la programmation Shell. -savoir compter avec des scripts Shell par diffrentes faons : Les nombres de fichiers Les nombres de rpertoires

Syntaxe :
- # ! / bin / bash : cest pour initialiser le programme en Shell. - chmod U+X ex12-1 : ajouter le droit dexcution en fichier. - . / Nom du fichier : excution le script. - : X ! : Fermeture en enregistrant. -on va aussi utiliser des boucles : - if [ condition ]
33

Rapport 2010/2011

then action fi -if [ condition ] then action1 else action2 fi

La solution:
1) Vi exo12-1 #! /bin/bash echo nombre de fichier find -type f |wc-l echo nombre de rpertoire find -type d |wc-l :X! Chmod U+X exo12-1 . /ex12-1 2) #! /bin/bash echo nombre de fichier find $1 -type f |wc-l echo nombre de rpertoire find $1 -type d |wc-l :X! Chmod U+X exo12-1 . /ex12-1 enter le chemin de votre fichier 3) #! /bin/bash echo tapez un chemin echo nombre de fichier find $chemin -type f |wc-l echo nombre de rpertoire find $chemin -type d |wc-l . /ex12-3 4) #! /bin/bash echo tapez un chemin read chemin if test d$chemin then
34

Rapport 2010/2011

echo nombre de fichier find $chemin -type f |wc-l echo nombre de rpertoire find $chemin -type d |wc-l else echo chemin nest pas valide fi

5) #! /bin/bash echo tapez un chemin valide read chemin nb-r=0 nb-w=0 nb-x=0 if test d$chemin then for I in find $chemin type f do if test r $i then nb-r=$[$nb-r+1] fi if test w $i then nb w=nb-w+1 fi if test x $i then nb-w= $nb-x+1 fi done echo nombre de fichier : $nb-r echo nombre de fichier : $nb-w echo nombre de fichier : $nb-x else echo chemin nest pas valide fi

35

Rapport 2010/2011

6) #! /bin/bash for i in seq 0 $1 do touch fich 0 $i done

7) #! /bin/bash Sort t : +3 -4 n / etc / passwd > passwd-trie Sort t : +2 -3 n/ etc / groupe > groupe-trie Joint t : -j1 4 j2 3 o 1.1 2.1 1.7 1.6 passwd-trie groupe trie grep ^$1

Exercice 13 :
Soit larborescence suivante : /home/userxg1

Rep

F0

F1

F2

F3

F4

F5

F6

F7

- le rpertoire F1 contient les fichiers suivants: fich11, fich12, fich13. -le rpertoire F2 contient les fichiers suivants: fich21, fich22, fich23. - le rpertoire F3 contient les fichiers suivants: fich31, fich32, fich33. - le rpertoire F4 contient les fichiers suivants: fich41, fich42, fich43.
36

Rapport 2010/2011

- le rpertoire F5 contient les fichiers suivants: fich51, fich52, fich53. - le rpertoire F6 contient les fichiers suivants: fich61, fich62, fich63. - le rpertoire F7 contient les fichiers suivants: fich71, fich72, fich73. 1) Faire un script shell qui permet de crer cette arborescence. 2) Faire un script shell qui prend en paramtres le nom du rpertoire (Rep) et le nombre de sous rpertoires (F0 , F1, ). 3) Amliorer le script shell de la question 2 en testannnt lexostence du rpertoire (Rep), les sous rpertoires (F0, F1, .) et les fichiers.

Objectifs :
-cre une arborescence avec un script Shell laide dune boucle. -utiliser deux mthodes diffrentes.

Syntaxe :
-for fichier in /etc/rc* do if [ -d "$fichier" ] then echo "$fichier (repertoire)" else echo "$fichier" fi done - for x in un deux trois quatre do
37

Rapport 2010/2011

echo x= $x done

La solution:
1) #!/bin/bash mkdir rep for i in 0 1 2 3 4 5 5 6 7 do mkdir rep / F$i for j in 1 2 3 4 do echo Fich $i $j > rep / F$i / fich $i $j 2) #!/bin/bash echo tapez un chemain valide : read chemin if test f $chemin then echo "nombre de fichier:" `find $chemin -type f | wc l` elif test -d $chemin then echo "nombre de rpertoire:" `find $chemin -type d | wc l` else echo "chemin nest pas valide" fi

38