Upload
badr-elkhalyly
View
295
Download
3
Embed Size (px)
Citation preview
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 .
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
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.
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.
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.
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
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.
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) .
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 .
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 .
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
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
;
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
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
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.
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
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--„.
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.
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
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
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 _ _ _
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.
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”
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
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.
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
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
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
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
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
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 ».
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"
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 ]
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
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
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.
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
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