Atelier Systèmes d’Exploitation
Révision
Amine DHRAIEF
1ère année Licence LFIG
Les commandes Shells
Exercice#1
● 1) Créer l’arborescence de fichier ci-dessous
sous votre répertoire personnel :
Exo-Revisions
chapt2
chapt3
chapt4
chapt2-script1.sh
chapt3-script1.sh
chapt4-script1.sh
Exercice#1
● 2)Afficher les droits du fichier chapt2-script1.sh
● 3)Renommer le fichier chapt4-script1.sh en chapt4-
script1
● 4)Supprimer le fichier chapt3-script1.sh
● 5)Copier le fichier chapt2-script1.sh sous le répertoire
chapt3
Exercice#2
● Écrire un script shell script1.sh qui affiche la
date d’aujourd’hui en utilisant la commande
date. Le script affiche :
Bonjour, Aujourd’hui nous sommes
le dimanche 10 décembre 2017,
12:19:02 (UTC+0100)
Advertisement
Exercice#3
● Créer sous votre répertoire courant un dossier
Dir3
● Proposer une commande qui créer un
deuxième dossier Dir3. Si la création s’est
faite correctement, la commande affiche OK,
sinon elle affiche NOK.
Exercice #4
● 1) Proposer une commande qui écrit la liste des fichiers et
dossier de votre répertoire courant dans un fichier nommé
liste.
● 2) Proposer une commande qui ajoute à la fin du fichier
liste la ligne suivant : Fin de Fichier !
● 3) En utilisant la commande cat et la redirections
d’entrées/sorties copier le contenu du fichier liste dans un
deuxième fichier de votre choix.
Exercice#5
● 1) Chercher la chaîne de caractère root dans le fichier
/etc/passwd
● 2) Compter le nombre
– De lignes du fichier /etc/passwd
– De mot fichier /usr/share/dict/french
– De caractère du fichier /proc/cpuinfo
● 3) Afficher
– les trois première lignes de fichier /etc/passwd
– les trois dernières lignes de fichier /etc/passwd
– la cinquième ligne du fichier /etc/passwd
La programmation de base Shell
Exercice#1
Advertisement
● Écrire un script shell qui affiche :
– son nom,
– le nombre de ses arguments,
– la liste de ses arguments,
– son premier argument
– son dernier argument
● Hint : penser à utiliser shift n avec n le nombre de
shift à exécuter
Correction Exercice#1
Exercice #2
● Écrire un script qui compare deux nombres n et
m.
– Si ce script est appelé avec un nombre de
paramètre différent de deux, il affiche un message
d’erreur.
Correction Exercice#2
Exercice #3
● Écrire un script qui affiche les entiers de 1 à un
entier n.
Correction Exercice#3
Exercice#4
● Écrire un script qui fait deviner à l’utilisateur un
nombre compris entre 1 et 1000. Pour cela
l’utilisateur a droit à 10 essais.
– Hint : le nombre mystère est généré par la
commande nb_myst=$(($RANDOM % 1000 + 1))
Correction Exercice#4
Exercice #5
● Écrire un script shell dont l’unique paramètre est une
Advertisement
moyenne. Le script affiche
– Mauvais si la moyenne est entre 0 et 4,
– Passable entre 5 et 9,
– Bien entre 10 et 14,
– Très bien entre 15 et 19,
– Parfait si moyenne vaut 20,
– et "Error?!" autrement.
– Vous ne pouvez pas utiliser de if.
– Hint : utiliser case. Rappelez vous : case ne comprends que des
expressions régulières
Correction Exercice#5
Exercice #6
● Écrire un script qui passe tous ses arguments
en minuscule. Il n'affiche rien si il n'y a pas
d'argument.
Correction Exercice#6
Exercice #7
● Écrire un script qui passe tous ses arguments
en majuscule. Il n'affiche rien si il n'y a pas
d'argument.
Correction Exercice#7
Exercice #8
● Écrire un script qui affiche le maximum de tous
ses paramètres.
Correction Exercice#8
Exercice #9
● Écrire un script qui affiche le répertoire qui
possède le plus de éléments entre deux
répertoires dir1 et dir2.
Advertisement
Correction Exercice#9
Les expressions régulières
Questions Rapides
1) Rechercher les mots dont q n'est pas suivi de
u.
2)Rechercher les mots formés exclusivement par
deux consonnes.
3)Rechercher les mots de cinq lettre commençant
par une voyelle et finissant par une voyelle.
Exercice
● Coup de pouce au mot croisés:
– Dans tout cet exercice, nous manipulerons le fichier
’/usr/share/dict/french qui est le dictionnaire de
français d’Unix.
– Écrivez un petit script qui demande à l’utilisateur de
rentrer un mot incomplet sous la forme d’un
mélange de lettre et de " ." et donne à l’utilisateur
tous les mots qu’il peut écrire en remplaçant
chaque " ." par une lettre.
Correction
The END
22/12/17
Atelier S.E
32