38
 Rapport 2010/2011 1 Préparer par:  EL BAGGAR Imane  EL MAHI Sara  FARHAT Khadija  EL BERRI Fatima ezzahra  AKENSOUS Youness Encadré par : Mme S.EL FILALI .

Rapport 12

Embed Size (px)

Citation preview

Page 1: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 1/38

Rapport

2010/2011

1

Préparer par:

 EL BAGGAR Imane

 EL MAHI Sara

 FARHAT Khadija

 EL BERRI Fatima ezzahra

 AKENSOUS Youness

Encadré par :  Mme S.EL FILALI .

Page 2: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 2/38

Rapport

2010/2011

2

 Les remerciements 3 

 Introduction 4 

 Exercice1 5 

 Exercice2 7 

 Exercice3 8 

 Exercice4 10 

 Exercice5 11 

 Exercice6 15 

 Exercice7 17 

 Exercice8 21 

 Exercice9 25 

 Exercice10 27 

 Exercice11 31 

 Exercice12 33 

 Exercice13 36 

Page 3: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 3/38

Rapport

2010/2011

3

Nous souhaitons remercier dans un premier temps, toute

l‟équipe pédagogique de la Faculté de science

Mohammedia et en particulier, le responsable de la

formation « système d‟exploitation », Mme El filali Sanaa.

En effet, c‟est grâce aux séances de TP.

Page 4: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 4/38

Rapport

2010/2011

4

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

des commandes. 

On sait très bien qu’il est parfois plus simple de taper une commande que d'effectuer des

manipulations demandant beaucoup de clics de souris dans une interface graphique. C'estaussi 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, même 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 méthodes (commandes ou interface graphique) ne

remplacera complètement l'autre car elles se complètent plus qu'elles ne rivalisent.

Depuis la version 10.04 le terminal peut être lancé grâce 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 Entrée

(clavier) pour l'exécuter.

Les raccourcis pour le copié-collé ne sont pas Crtl+C ↔ Ctrl+V par défaut, 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 opération qui présente des risques.

Page 5: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 5/38

Rapport

2010/2011

5

Exercice 1 :

1) Dans votre répertoire courant, créez en une commande les fichiers suivants: annee1

Annee2 annee4 annee45 annee41 annee510 en utilisant la commande touch2) Lister tous les fichiers

Se terminant par 5 ;

Commençant par annee4 ;

Commençant par annee4 et de 7 caractères ;

Commençant par annee et se terminant par chiffre numérique ;

Contenant la chaîne ann ;

Commençant par a ou A.

3) Créer les répertoires Year et tmp dans votre répertoire courant, en une commande

déplacez les fichiers précédemment créés dans le répertoire Year.

4) Copier les fichiers dont l'avant dernier caractère est un 4 ou 1 dans le répertoire tmp en

une seule commande.

5) Répéter la commande de la question 4 en utilisant l‟option i 

6) Répéter la commande de la question 4 en utilisant l‟option f 

7) en une seule commande vider le contenue de votre répertoire courant (travail).

Objectifs:

- Créer en une commande un fichier dans le répertoire courant .

- Lister des fichiers qui ont des critères précises

- déplacer des fichiers précédemment créés dans un répertoire .

- Copier des fichiers dans un répertoire en une seule commande.

- Copier des fichiers dans un répertoire en utilisant l‟option i  

- Copier des fichiers dans un répertoire en utilisant l‟option f 

- vider le contenue du répertoire courant en une seule commande.

Page 6: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 6/38

Rapport

2010/2011

6

Syntaxe:

- touch pour créer un fichier dans le répertoire courant

- ls :Affiche les attributs d‟un fichier 

- mkdir : pour créer un répertoire

- rm -r : pour supprime une arborescence

- cp : sert à copie des fichiers dans un répertoire

- Les commandes cp, mv :

$mv [Option…] Fichier1 Fichier2

$cp [Option…] Fichier1 Fichier2 

Principales options :

-i : la commande cp demande une confirmation de remplacement d‟une destination déjà

existante

-f : a l‟effet inverse de supprimer la demande de confirmation implicite pour les

destinations déjà existantes et protégées.

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

Page 7: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 7/38

Rapport

2010/2011

7

Exercice 2 :

Soit l‟arborescence suivante :

1) Dans votre répertoire personnel, crée en une seul commande les répertoires.

ci-dessus en utilisant la commande mkadir avec l‟option –P.

2) Créer le fichier ch1 dans le répertoire 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 façon les deux arborescences suivantes :F1 et F2

Objectifs : 

L‟objectif de cet exercice est de connaitre des nouvelles commandes qui permet de

gérer les fichiers sur le système d‟exploitation UNIX .on va négliger un peu les 

commandes qu‟on a déjà citer dans le premier exercice .bref ,les commandes qui

sont utilisées dans cet exercice sont :

- Cd : c‟est une commande de la gestion des fichiers, et qui permet de changer le

répertoire .

- Cat : c‟est une commande de gestion des fichiers, qui permet d‟afficher le contenu

d‟un fichier texte. 

- Ln : c‟est une commande qui permet de créer des liens dans l‟arborescence d‟un

système de fichiers pour un même fichier physique.

Syntaxe :

  La syntaxe pour la première commande «cd» :$ Cd le nom du fichier que vous voulez changer.

Page 8: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 8/38

Rapport

2010/2011

8

  La syntaxe pour la première commande «cat » :

$Cat chemin d‟accès de fichier. 

  La syntaxe pour la première commande «ln» :

$ln nom du premier fichier nom du deuxième 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/ch27) cat > F1/F11/ch2

8) cat F1/F13/ch4

9) rm F1/F11/ch2

Exercice 3 :

1) Dans votre répertoire courant, créez en une commande les fichiers suivant : annee1

Annee2 annee4 annee45 annee41 annee510 en utilisant la commande touch.

2) Dans votre répertoire courant, créez le répertoire R

3) Dans votre répertoire courant, copier la liste des fichiers et leur attribues dont l‟avant

dernier caractère est un 4 ou 1 dans le fichier ch1 dans R.

4) Afficher le contenue de ch1.

5) Copier la date du système 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 l‟avant

dernier caractère est un 4 ou 1.

8) Que se passe-t-il si vous taper les commandes suivantes :

-ls –l [Aa]* > ch2

-wc < ch2

-ls -l [Aa]* | wc

wc (imprime le nombre de lignes, de mots et de caractères fournis à l‟entrée standard) .

Page 9: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 9/38

Rapport

2010/2011

9

Objectifs :

-ls –l [Aa]* > ch2 la liste des fichiers et leur attributs qui commence par a ou A

seront afficher (copier) dans ch2.-wc < ch2  cette commande permet d‟afficher le nombre de lignes, de mots et de

caractères qui se trouve dans ch2.

-ls -l [Aa]* | wc cette commande = ( -ls –l [Aa]* > ch2 ) + (-wc <

ch2).

Syntaxe :

touch : cette commande permet de créer des fichiers.

mkdir : cette commande permet de créer des répertoires.

ls -l : permet d‟afficher les attributs d‟un 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 d‟afficher le contenu du Fichier . 

wc : permet de compter le nombre de ligne, de mot ou de caractère d‟un 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 réponse est dans les remarques .

Page 10: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 10/38

Rapport

2010/2011

10

Exercice 4 : 

1) Ouvrer vi et tapé le texte suivant :Comment se connecter sous UNIX ?

Le premier concept important à garder en mémoire avant de travailler avec UNIX ou sa

version PC Linux est qu‟il s‟agit d‟un système multi-utilisateurs. L‟accès à la machine

UNIX doit donc être contrôlé. Pour être enregistré sous UNIX, il faut avoir un compte

utilisateur (login, password) crée par l‟administrateur système. L‟administrateur est un

super utilisateur qui a les droits de gestion du système (login root ou su).

2) Enregistrer ce fichier sous le nom de fiche1.

3) Ajouter le texte suivant :

Login : (Taper votre nom d‟utilisateur) 

Le système 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 sûr possible.

  utiliser des majuscules et des minuscules.

  utiliser des chiffres et des caractères spéciaux.

  7 à 8 caractères de long

  concaténer des mots pour en créer 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 caractères écrits en majuscule.

7) Rechercher dans tout le texte les occurrences d‟utilisateur 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 présent 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 .

Page 11: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 11/38

Rapport

2010/2011

11

La solution :

1) vi2) : 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 suivantAli:13:022568779:CasablancaOmar:55:022556378:RabatAdil:56:039884596:TangerNoureddine:80:022998766:FesZakaria:89:023363398:MarrakechReda:79:022225262:OujdaMohamed:72:023055566:EljadidaBoubker:72:022088089:TangerKhalid:79:022056595:CasablancaMustapha:89:022358856:FesAziz: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:MarrakechFatima:55:022198922:RabatHalima:13:022343533:OujdaNadia:56:022990939:EljadidaIlham:80:022897444:FesFatiha:79:022568222:OujdaMina:13:023256978:RabatKhadija:56:055569955:Marrakech

Saadia:89:039568456:CasablancaImane:55:055562378:TangerMadiha:72:039256696:Oujda

Page 12: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 12/38

Rapport

2010/2011

12

4) Sauvegarder les modifications.Le fichier carnet-adresse contient quatre champ :Le premier champ représente le nom, le deuxième le codedu département, le troisième le numéro de téléphone et ledernier la ville. Attention le premier champ est noté 0,le deuxième 1, ainsi de suite.5) Compter le nombre ligne, mot et caractères du fichiercarnet-adresse.6) Créer le fichier carnet-adresseA qui contient les 10lignes premières du fichier carnet-adresse.7) Ranger toutes les lignes par ordre alphabétique eneffectuant un tri sur le premier caractère du fichiercarnet-adresse.

8) Effectuer un tri inversé sur le deuxième champ9) Effectuer un tri sur le deuxième caractère du champNuméro 4 (ville)10) Créer en une seule commande le fichier carnet-adresse-tri qui contient les 10 premières lignes du trisur le champ Numéro 4 (ville)11) Extraire les 10 premiers caractères de chaque lignedu fichier carnet-adresse.12) Créer en une seule commande le fichier carnet-

adresseB qui contient deux champs de toutes les lignes.13) Créer en une seule commande le fichier carnet-adresseC qui contient les 10 premiers caractères detoutes les lignes.

Objectifs :

-  Savoir le rôle de la commande « vi » avec ses mode d‟insertions et de commandes.  -  Découvrir la commande « sort » et ses options.

-  Découvrir la commande « cut » et ses options.

Syntaxe :

-  « vi » est vi est un éditeur de texte présent en standard sous UNIX.

Il présente la particularité de posséder deux modes de travail :

-  Mode commande : dans lequel l‟utilisateur spécifie les requêtes de traitements du fichier

;

Page 13: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 13/38

Rapport

2010/2011

13

-  Mode insertion : dans lequel tout ce qui est entré au clavier est écrit dans le tampon de

mémoire associé au fichier.

-  Pour ouvrir un fichier existant ou pour créer un nouveau fichier, il suffit d ‟utiliser la

syntaxe suivante :

vi nom_fichier.

-  A l‟appel de l‟éditeur, on se trouve dans le mode commande. Plusieurs commandes

d‟insertion de texte permettent de passer en mode insertion, alors que pour passer du

mode insertion au mode commande, on tape le caractère d‟échappement ESC. 

-  La commande sort permet d‟effectuer un tri d‟un fichier en s‟appuyant sur la notion de

champ. Un champ commence après une fin de ligne ou lorsqu‟on rencontre un séparateur

de champ.

-  Syntaxe

$sort [-options] [+pos1] [-pos2] fichier

-  La commande « cut » permet d‟extraire certains champs d‟un 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

Page 14: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 14/38

Rapport

2010/2011

14

Aziz:56:022569676:Eljadida

2°) on frappe la touche « ESC » après on tape : w carnet-adresse

3°) vi carnet-adresse

Saloua:80:022151113:MarrakechFatima:55:022198922:RabatHalima:13:022343533:OujdaNadia:56:022990939:EljadidaIlham:80:022897444:FesFatiha:79:022568222:OujdaMina:13:023256978:Rabat

Khadija:56:055569955:MarrakechSaadia:89:039568456:CasablancaImane:55:055562378:TangerMadiha:72:039256696:Oujda

4°) on frappe la ouche « ESC » après on tape :q5°) 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-tri11°) cut –c 1-10 carnet-adresse

12°) cut –d: -f1.3 carnet-adresse > carnet-adresseB13°) cut –c 1-10 carnet-adresse > carnet-adresseC

Page 15: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 15/38

Rapport

2010/2011

15

Exercice 6 :

Le fichier carnet-adresse de l‟exercice précèdent (Exercice 2) contient quatre champ :

Le premier champ représente le nom, le deuxième le code du département, le troisième lenuméro de téléphone et le dernier la ville. Attention le premier champ est noté 0, le deuxième1, ainsi de suite.1) Ouvrer vi et tapé le texte suivant

13:informatique55:comptabilité56:commerciale80:stock89:fabrication

72:direction79:maintenance

2) Sauvegarder ce contenu sous le nom departement.Le fichier departement contient deux champs :Le premier champ représente le code du département, le deuxième le nom du département.3) Créer en une seule commande le fichier département- trie en effectuant un tri sur lechamp N° 1 (code du département) du fichier département.4) Créer en une seule commande le fichier carnet-adresse-trie en effectuant un tri sur lechamp N° 2 (code du département) du fichier carnet-adresse.5) Faire la jointure entre les fichiers :

a) departement et carnet-adresseb) departement-trie et carnet-adressec) departement et carnet-adresse-tried) departement-trie et carnet-adresse-trie

6) Editer le fichier departement et copier / coller tousles lignes à la fin du fichier. Et sauvegarder les modifications dans le fichier departement-doublant.7) Applique la commande uniq sur le tri du fichier departement-doublant pour éliminer leslignes dupliquées.

8)Editer le fichier departement est remplace respectivement informatique,comptabilité parinfo, compta. Sauvegarder les modifications dans le fichier departement-comm.9) Applique la commande comm sur les fichiers departement et departement-comm. Pourvisualiser les lignes communes et non communes.10)Applique la commande comm sur lesfichiers departement et departement-doublant. Pourvisualiser les lignes communes et non communes.11) Créer en une seule commande le fichier carnet- adresse-triA qui contient les 10 premièreslignes de la jointure des deux fichiers departement-trie et carnet-adresse-trie.

12) Créer en une seule commande le fichier carnet- adresse-triB qui contient les 10 premièreslignes du tri du champ ville de la jointure des deux fichiers departement-trie et carnet-adresse-trie.

Page 16: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 16/38

Rapport

2010/2011

16

Objectifs :

-Découvrir la commande « join » et ses options.

- Découvrir la commande « uniq » et ses options.

- Découvrir la commande « comm » et ses options.

Syntaxe :

-  La commande join permet la jointure de deux fichiers triés ayant un champ commun(fusionner les lignes de deux fichiers triés ayant un champ commun).Syntaxe

$ join [– j1|2]m –tx [-o list] fichier1 fichier2-  La commande comm permet d‟afficher les lignes communes et non communes de deux

fichiers triées. Le résultat est présenté en 3 colonnes. La première contient les lignesqui se trouvent uniquement dans le fichier 1, la deuxième colonne celles qui se trouventdans le fichier 2, la troisième contient les lignes communes. Les options –1, -2, -3permettent de supprimer une ou plusieurs colonnes.

Syntaxe$ comm [–123] fichier1 fichier2

-  La commande uniq est un filtre qui agit sur les lignes répétées d‟un fichier trié (élimineles lignes d‟un fichier dupliquées dans un fichier). Syntaxe

$ uniq fichier1

La solution :

1°) vi

13:informatique55:comptabilité56:commerciale80:stock89:fabrication72:direction79:maintenance

2°) :w dapartement

3°) sort -t: +0 -1 –n departement > departement - trie

4°) sort –t : +1 -2 -n carnet-adresse > carnet-adresse-trie

Page 17: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 17/38

Rapport

2010/2011

17

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 departement-doublant

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

adresse-trieA

12°) sort -t : +3 -4 carnet-adresse-trie | join -t : -j1 1 -j2 2 -o 1.1 2.2 departement-triecarnet –adresse-trie | head -10 > adresse-trieB

Exercice 7 :

1) Dans votre répertoire de travail personnel, créer un répertoire que vous appellerez

catalogue et les fichiers suivants : fich1, fich2, fich3, prog.c, f1.c, f2.c.

2) Quels sont les droits d‟accès attribués à ces fichiers. 

3) Placez les valeurs de ces droits d‟accès aux fichiers suivants  

fich1:rwxrw-r--

fich2:r-- r-- r--

fich3:--x--xr--

Utilisez les deux formes symbolique et octale.

4) Déplacez vous dans le répertoire catalogue et créez un fichier fich4 non vide.

5) Comment appeler la commandes umask pour attribuer à tous les nouveaux fichiers les

droits d‟accès „rw-r--r--„. 

Page 18: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 18/38

Rapport

2010/2011

18

6) Changer les modes d‟accès de tous les fichiers qui ont une extension ‟.c „ en„rw-r--r--„. 

7) Même chose en notation symbolique.

8) Supprimer le mode „x‟ pour le groupe au niveau du fichier fich3. 9) Rajoutez le mode „w‟ pour le propriétaire et enlevez „r‟ aux autres du fich3 

10) Changer le propriétaire et le group de ce fichier.

Objectifs :

-Créer un répertoire et des fichiers

- citer les droits d‟accès attribués à ces fichiers. 

- Placez des valeurs des droits d‟accès à un fichier en utilisant deux formes symbolique et

octale.

- appeler la commandes umask pour attribuer à un fichier des droits d‟accès . 

- Changer les modes d‟accès de tous les fichiers qui ont une extension ‟.c „ en„rw -r--r--„. 

- Même chose en notation symbolique.

- Supprimer et rajouter des modes pour le groupe et le propriétaire au niveau d‟un fichier . 

- Changer le propriétaire et le group d‟un fichier. 

Syntaxe :

- touch pour créer un fichier dans le répertoire courant

- mkdir : pour créer un répertoire

- ls -l fichier:Affiche les droits d‟accèe 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 réalisant une opération logique entreles droits élémentaire à positionner.

Page 19: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 19/38

Rapport

2010/2011

19

400 droit de lecture pour le propriétaire

200 droit d‟écriture pour le propriétaire 

100 droit d‟exécution pour le propriétaire 040 droit de lecture pour le groupe

020 droit d‟écriture pour le groupe 

010 droit d‟exécution pour le groupe

004 droit de lecture pour les autres

002 droit d‟écriture pour les autres 

001 droit d‟exécution 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 propriétaire d‟un fichier : 

chown nouveau-propriétaire nom-fichier

- La commande qui permet de changer le groupe d‟un 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

Page 20: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 20/38

Rapport

2010/2011

20

f2.c

3) Forme symbolique :

fich1 :rwx rw- r-- : $chmod U=rwx,g=rw-,O=r-- fich1fich2 :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 demandée 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

Page 21: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 21/38

Rapport

2010/2011

21

Exercice 8 :

1)  Dans votre répertoire personne1, créer l‟arborescence suivante :

/home/userxg1

Rep

F0 F1 F2 F3 F4 F5 F6 F7

2) Dans le répertoire F0 créez les fichiers suivants: fich01, fich02, fich03.

3) Dans le répertoire F1 créez les fichiers suivants: fich11, fich12, fich13.

4) Dans le répertoire F2 créez les fichiers suivants: fich21, fich22, fich23.

5) Dans le répertoire F3 créez les fichiers suivants: fich31, fich32, fich33.

6) Dans le répertoire F4 créez les fichiers suivants: fich41, fich42, fich43.

7) Dans le répertoire F5 créez les fichiers suivants: fich51, fich52, fich53.

8) Dans le répertoire F6 créez les fichiers suivants: fich61, fich62, fich63.

9) Dans le répertoire F7 créez les fichiers suivants: fich71, fich72, fich73.

10)  Quels sont les droits d‟accés attribués aux répertoires et aux fichiers de chaque

répertoire.

11)  Utilisez soit cat soit vi pour emplir respectivement les fichiers fich01, fich11...

fich71 de chaque répertoire par « bonjour fcih01 », « bonjour fich11 », … « bonjour

fich71 »12)  Placez les valeurs de ces droits d‟accès aux répertoires suivants :

F0 : _ _ _ _ _ _ _ _ _ 

F1 : _ _ _ r _ _ _ _ _ 

F2 : _ _ _ _ w _ _ _ _ 

F3 : _ _ _ _ _ x _ _ _ _ 

F4 : _ _ _ r _ x _ _ _ 

F5 : _ _ _ _ w x _ _ _ 

F6 : _ _ _ r w _ _ _ _ F7 : _ _ _ r w x _ _ _ 

Page 22: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 22/38

Rapport

2010/2011

22

13)  Appliquez les commandes ls et cd à chaque répertoire qu‟est ce que vous remarquez.  

14)  Dans votre répertoire du travail éditez les fichiers F0/fich01, F1/fich11, …

F7/fich71. Qu‟est ce que vous remarquez. 

15)  Placez les valeurs de ces droits d‟accès aux répertoires 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 _ _ _ 16)  Appliquez les commandes ls et cd à chaque répertoire. Qu‟est ce que vous

remarquez ?

17)  Dans votre répertoire du travail éditez les fichiers F0/fich01, F1/fich11, …

F7/fich71. Qu‟est-ce que vous remarquez ?

Objectifs :

  Le but est : quand on a le droit d‟utiliser les deux commandes « cd » & « ls » ?

Syntaxe :

mkdir -p = une commande qui nous permet de créer un arborescence (des répertoires qui

sont fournis en argument).

chmod = permet à un propriétaire ou à l‟administrateur de modifier les droits de ces

fichiers.

ls = affiche les attributs d‟un fichier. 

ls -l = affiche tous les attributs d‟un fichier. 

cd = cette commande permet juste de changer le répertoire.

cat > nom_fichier = cette commande nous aide d‟ajouter des infos à nos fichiers

comme le fichier « nom_fichier ».

vi nom_fichier = comme ça on peut aussi ajouter des infos dans le fichier

« nom_fichier », et on tape la commande :q pour quitter en sauvegardant les modifications.

Page 23: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 23/38

Rapport

2010/2011

23

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)  ls –l

11)  cat > Rep/F0/fich01 entrée “bonjour fich01” 

cat > Rep/F0/fich02 entrée “bonjour fich02” 

cat > Rep/F0/fich03 entrée “bonjour fich03” 

cat > Rep/F1/fich11 entrée “bonjour fich11” 

cat > Rep/F1/fich12 entrée “bonjour fich12” 

cat > Rep/F1/fich13 entrée “bonjour fich13” 

cat > Rep/F2/fich21 entrée “bonjour fich21” 

cat > Rep/F2/fich22 entrée “bonjour fich22” 

cat > Rep/F2/fich23 entrée “bonjour fich23” cat > Rep/F3/fich31 entrée “bonjour fich31” 

cat > Rep/F3/fich32 entrée “bonjour fich32” 

cat > Rep/F3/fich33 entrée “bonjour fich33” 

cat > Rep/F4/fich41 entrée “bonjour fich41” 

cat > Rep/F4/fich42 entrée “bonjour fich42” 

cat > Rep/F4/fich43 entrée “bonjour fich43” 

cat > Rep/F5/fich51 entrée “bonjour fich51” 

cat > Rep/F5/fich52 entrée “bonjour fich52” cat > Rep/F5/fich53 entrée “bonjour fich53” 

cat > Rep/F6/fich61 entrée “bonjour fich61” 

cat > Rep/F6/fich62 entrée “bonjour fich62” 

cat > Rep/F6/fich63 entrée “bonjour fich63” 

cat > Rep/F7/fich71 entrée “bonjour fich71” 

cat > Rep/F7/fich72 entrée “bonjour fich72” 

cat > Rep/F7/fich73 entrée “bonjour fich73” 

Page 24: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 24/38

Rapport

2010/2011

24

12)  chmod 000 Rep/F0

chmod 040 Rep/F1

chmod 020 Rep/F2

chmod 010 Rep/F3chmod 050 Rep/F4

chmod 030 Rep/F5

chmod 060 Rep/F6

chmod 070 Rep/F7

cd Rep /F0 entrée

ls Rep/F0 entréecd Rep /F1 entrée

ls Rep/F1 entrée

13) 

cd Rep /F2 entrée

ls Rep/F2 entrée

cd Rep /F3 entrée

ls Rep/F3 entrée

cd Rep /F4

entréels Rep/F4 entrée

cd Rep /F5 entrée

ls Rep/F entrée

cd Rep /F6 entrée

ls Rep/F6 entrée

cd Rep /F7 entrée

ls Rep/F7 entrée

les deux commandes « ls » et « cd » ne vont pas marcher parce qu‟on a changé les

droits d‟accès de chaque répertoire dans la question précédente.

14)  Pour cette question on n‟a pas le droit d‟éditer ces fichiers F0/fich01, F1/fich11, …,

F7/fich71.

15)  chmod 000 Rep/F0

chmod 440 Rep/F1

chmod 220 Rep/F2

chmod 110 Rep/F3

chmod 550 Rep/F4

chmod 330 Rep/F5

Page 25: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 25/38

Rapport

2010/2011

25

chmod 660 Rep/F6

chmod 770 Rep/F7

16) 

cd Rep /F0 entréels Rep/F0 entrée

cd Rep /F1 entrée

ls Rep/F1 entrée

cd Rep /F2 entrée

ls Rep/F2 entrée

cd Rep /F3 entrée

ls Rep/F3 entréecd Rep /F4 entrée

ls Rep/F4 entrée

cd Rep /F5 entrée

ls Rep/F entrée

cd Rep /F6 entrée

ls Rep/F6 entrée

cd Rep /F7 entrée

ls Rep/F7 entrée

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 commençant par les caractères

compris entre a et d.

Page 26: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 26/38

Rapport

2010/2011

26

4) Afficher les lignes contenant la chaîne de caractères

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] "modèle de critère" [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

Page 27: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 27/38

Rapport

2010/2011

27

Exercice 10 :

1) Dans votre catalogue de travail, créer un fichier

grepo, qui contient le texte suivant :

Janvier

Février

Mars

Avril

Mai

Juin

Juillet

Septembre

Novembre

Décembre

Août

Rechercher les lignes ayant les caractéristiques suivantes :

-Le caractère "vr" à un endroit quelconque.

-Le texte "mbre" en fin de ligne.

- Le caractère "a" en début de ligne qu‟elle soit en minuscule ou majuscules. 

- La chaîne de caractère "mai" est seule dans la ligne qu‟elle soit en minuscule ou majuscules.

2) Copier le fichier /etc/passwd dans votre répertoire courant. Rechercher dans ce fichier

l‟ensemble des lignes qui commencent par votre nom d‟utilisateur. 

En déduire les informations qui concernent votre compte utilisateur.

3) Dans ce même fichier rechercher les lignes qui identifient les utilisateurs ne faisant pas

partie du même groupe que vous.

4) Donner la liste des utilisateurs dont le UID varie entre 500 et 599

5) Le nombre d‟utilisateurs qui utilisent comme programme initial dans passwd le /bin/bash

6) Donner la liste des utilisateurs dont le nom contient la lettre à qui se répète 2 fois7) tous les utilisateurs dont le champ commentaire n‟est pas vide 

Page 28: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 28/38

Rapport

2010/2011

28

8) La ligne de commande suivante retourne le nombre de lignes du fichier Liste qui

contiennent la chaîne de caractères em :

$ grep –c "em" liste

Donner la ligne de commande qui permet d‟aboutir au même résultat sans l‟option –c.

Objectifs:

-Rechercher des lignes ayant des caractéristiques précises.

-Copier le fichier /etc/passwd dans le répertoire courant

- Rechercher dans ce fichier l‟ensemble des lignes qui commencent par le nom d‟utilisateur. 

-déduire les informations qui concernent le compte utilisateur.

-Dans ce même fichier rechercher les lignes qui identifient les utilisateurs ne faisant pas

partie du même groupe que l‟utilisateur. 

-trouver la liste des utilisateurs dont le UID varie entre 500 et 599

-trouver le nombre d‟utilisateurs qui utilisent comme programme initial dans passwd le

/bin/bash

-trouver la liste des utilisateurs dont le nom contient la lettre à qui se répète 2 fois

-citer tous les utilisateurs dont le champ commentaire n‟est pas vide. 

Donner la ligne de commande qui permet d‟aboutir au même résultat sans l‟option –c dans la commande suivante : $ grep –c "em" liste .

Syntaxe :

La commande cp

$cp –r r1 r2

La commande cp –r copie l‟arbre issu du répertoire r1 vers le répertoire ré en une seule

opération .Deux cas de figure se présente :

-Le répertoire distination r2 n‟existe pas .

L‟arbre situé sous r1 est copié sous le répertoire r2 qui est crée par la commande.

-Le répertoire distination r2 existe.

Le répertoire source r1 et l‟arbre situé sous r1 sont copies sous le répertoire r2 .

La commande wc

Page 29: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 29/38

Rapport

2010/2011

29

La commande wc permet de compter le nombre de ligne d‟un 

fichier, mais aussi le nombre de mot ou de caractères.

$ wc [option] fichier

Pour avoir le nombre de ligne l‟option est –l, l‟option –w compte le nombre de mot, l‟option

–c compte le nombre de caractères.

La commande cut

La commande cut permet d‟extraire certains champs d‟un fichier. 

$ cut [option] fichierLes options de cut sont les suivantes :

-c Extrairesuivantlenombrede caractères

-f Extraire suivant le nombre de champs

-dx Le caractère x est le séparateur de champ

Avec la commande cut, contrairement à sort, le premier champ a comme numéro 1, le

deuxième 2 est ainsi de suite.

Fichier /etc/passwd

Tous les utilisateurs sont gérés par le fichier /etc/passwd. Chaque ligne de ce fichier

correspond à un utilisateur. Une ligne comprend 7 champs séparés par le caractère : qui sert

de séparateur 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] "modèle de critère" [fichier …] Les caractères spéciaux pour élaborer un

modèle de critère sont les suivants :

Caractère Signification

. Un caractère quelconque

$ Caractère précédent le $ en fin de ligne

Page 30: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 30/38

Rapport

2010/2011

30

^ Début de ligne

\{..\} Nombre spécifié entre les accolades définit de manière précise

le nombre de répétition du caractère placé avant

Les options possibles en utilisant la commande grep sont

les suivantes.

Option Signification

-v Toutes les lignes qui ne correspondent pas au critère sont transmises au canal

de sortie standard

-c Retourne le nombre de lignes qui correspond

au critère sans afficher ces lignes.

-i Ne tient pas compte des différences entre

minuscules et majuscules

La solution:

1)vi

Janvier

Février

Mars

Avril

Mai

Juin

JuilletSeptembre

Page 31: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 31/38

Rapport

2010/2011

31

Novembre

Décembre

Aoûtgrep "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 caractères 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) Créer les fichiers suivants dans un répertoire :a1, a2, a3……a9 et afficher les 5 premiers 

5) Afficher tous les noms de fichiers répertoires commençant par une lettre majuscule.

6) Afficher tous les noms de fichiers de l‟utilisateur « webmaster1 » qui appartient augroupe « webos ».

Page 32: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 32/38

Rapport

2010/2011

32

7) Afficher tous les fichiers normaux ayant pour taille plus de 150 Ko.

8) Afficher tous les fichiers dont les dernières modifications remontent à moins de trois

 jours.

9) Afficher tous les répertoires ayant les autorisations d‟accès „rwxr-xr-x „ . 10)  Supprimer tous les fichiers auxquels vous n‟avez pas accédés depuis plus de deux

semaines.

11)  Afficher tous les fichiers répertoires ou les fichiers dont le nom se termine par le

caractère „a‟. 

12)  Afficher tous les fichiers qui n‟appartiennent pas a l‟utilisateur « userxg1 ».

Objectifs : 

Cet exercice nous a montré un peu le rôle de la commande « find », qui sert à chercher lenom d‟un fichier. 

Syntaxe :

$find répertoire de départ critères de sélection options de commande.

Solution :

1) $find / -name "[a-A] *" -print

2) $find / -name "??M" -print3) $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) 

$find /-type f -atime +15 -exec rm11)  $find /(-type d -o type f) -name "*a"

12)  $find ! -user "user xg"

Page 33: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 33/38

Rapport

2010/2011

33

Exercice 12 :

1) Ecrire un script shell qui donne le nombre de sous répertoire et de fichier en partant du

niveau courant.

2) Ecrire un script shell qui donne le nombre de sous répertoire et de fichier contenus dans

une arborescence dont le chemin sera donné en paramètre.

3) Ecrire un script shell qui donne le nombre de sous répertoire et de fichier contenus dans

une arborescence dont le chemin sera demandé à l‟utilisateur. 

4) Même chose que pour la question 3 en vérifiant que le nom du répertoire de départ est

valide.

5) Ecrire un script shell qui donne poue une arboresence donné le nombre de fichiers

exécutables, de fichiers accessibles en lecture, et de fichiers accessibles en écriture.

6) Faire un script qui crée un certain nombre de fichiers, ce nombre étant passé en

paramètre (fich00, fich01, fich02, …).

Faire un script shell qui donne les informations suivantes :

- Nom de l‟utilisateur

-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 différentes façons :

Les nombres de fichiers

Les nombres de répertoires

Syntaxe :

- # ! / bin / bash : c‟est pour initialiser le programme en Shell. - chmod U+X ex12-1 : ajouter le droit d‟exécution en fichier.

- . / Nom du fichier : exécution le script.

- : X ! : Fermeture en enregistrant.-on va aussi utiliser des boucles :

- if [ condition ]

Page 34: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 34/38

Rapport

2010/2011

34

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 répertoire” „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 répertoire” „find $1 -type d |wc-l

: X !

Chmod U+X exo12-1

. /ex12-1 enter le chemin de votre fichier

3)#! /bin/bashecho tapez un chemin

echo “nombre de fichier” „find $chemin -type f |wc-l

echo “nombre de répertoire” „find $chemin -type d |wc-l

. /ex12-3

4)#! /bin/bash

echo tapez un chemin

read chemin

if test –d$chemin

then

Page 35: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 35/38

Rapport

2010/2011

35

echo “nombre de fichier” „find $chemin -type f |wc-l

echo “nombre de répertoire” „find $chemin -type d |wc-l

else

echo chemin n‟est 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 n‟est pas valide 

fi

Page 36: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 36/38

Rapport

2010/2011

36

6)#! /bin/bash

for i in „seq 0 $1‟ 

do

touch fich 0 $idone

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 l‟arborescence suivante :

/home/userxg1

Rep

F0 F1 F2 F3 F4 F5 F6 F7

- le répertoire F1 contient les fichiers suivants: fich11, fich12, fich13.

-le répertoire F2 contient les fichiers suivants: fich21, fich22, fich23.

- le répertoire F3 contient les fichiers suivants: fich31, fich32, fich33.

- le répertoire F4 contient les fichiers suivants: fich41, fich42, fich43.

Page 37: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 37/38

Rapport

2010/2011

37

- le répertoire F5 contient les fichiers suivants: fich51, fich52, fich53.

- le répertoire F6 contient les fichiers suivants: fich61, fich62, fich63.

- le répertoire F7 contient les fichiers suivants: fich71, fich72, fich73.1) Faire un script shell qui permet de créer cette arborescence.

2) Faire un script shell qui prend en paramètres le nom du répertoire (Rep) et le nombre de

sous répertoires (F0 , F1, …).

3) Améliorer le script shell de la question 2 en testannnt l‟exostence du répertoire (Rep), les

sous répertoires (F0, F1, ….) et les fichiers.

Objectifs :

-crée une arborescence avec un script Shell à l‟aide d‟une boucle. 

-utiliser deux méthodes différentes.

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

Page 38: Rapport 12

5/17/2018 Rapport 12 - slidepdf.com

http://slidepdf.com/reader/full/rapport-12 38/38

Rapport

2010/2011

38

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 répertoire:" `find $chemin -type d | wc –l`

else

echo "chemin n‟est pas valide" fi