Atelier Systèmes d’Exploitation

Programming, Shell Scripting, Regular Expressions · course

Voir tous les documents en systèmes d'exploitation et cloud

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)

Publicité

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

Publicité

● É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

Publicité

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.

Publicité

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