rs 2021)
Université Mohammed V — Rabat Nom : ............................................................. 2020—2021
Faculté des Sciences Prénom : ........................................................... Systèmes d'Exploitation 1
Département d'informatique Code : ................................................................ SMI — S3
Contrôle final : Systèmes d'Exploitation I
Exercice 1
Sachant que le masque courant est 125. Nous avons exécuté les trois commandes suivantes (en supposant que
le répertoire courant est initialement vide) :
$ touch notes.txt
$ mkdir rattrapage
$ ln notes.txt rattrapage/lien.txt
1. Compléter le résultat de la commande ls -l :
................. 2 user1 group1 4096 Jan 2 22:10 rattrapage
................. ... user1 group1 0 Jan 2 22:10 notes.txt
2. Sachant que les droits d’accès sur le répertoire courant sont 740, donner le résultat de la commande :
$ ls −al rattrapage
..................... 2 ..... ...... 4096 Jan 2 22:10 ............
..................... 2 ..... ...... 4096 Jan 2 22:10 ............
..................... ... ..... ...... 0 Jan 2 22:10 ............
3. Donner la commande pour créer un lien symbolique symb.txt dans le répertoire rattrapage sur le fichier
notes.txt
........................................................................................
4. Quels sont les droits d’accès (en mode octal) sur le fichier symb.txt ? Justifier votre réponse.
........................................................................................
........................................................................................
Exercice 2
1. Par quel moyen simple est-il possible de tester qu’une variable Shell est une valeur interprétable numérique-
ment ? Sachant que la commande expr génère un code de retour égale à 2 lorsque l’un de ses paramètres
n’est pas numériques.
........................................................................................
........................................................................................
........................................................................................
........................................................................................
........................................................................................
........................................................................................
........................................................................................
........................................................................................
........................................................................................
........................................................................................
2. Ecrire un script Shell appelable soit sans arguments, soit avec trois arguments et telle que, appelée sans
arguments, il réalise la lecture au clavier de trois nombres. Disposant alors dans tous les cas de trois
nombres, il indique si les trois nombres sont identiques, si deux de ces nombres sont identiques ou si ils
sont tous différents par un message sur l’erreur-standard (utiliser la commande exit). Le code de retour de
la commande sera égal à 0 (exit 0) si les trois nombres sont égaux, 1 (exit 1), 2 (exit 2) ou 3 (exit
3) selon que le nombre en i-ème position est différent des deux autres (ceux-ci étant identiques), 4 si les
trois nombres sont différents, 5 si le nombre de paramètres d’appel est incorrect et 6 si l’un des variables
n’est pas numérique.
1
rs 2021)
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
Exercice 3
1. Ecrire un script-shell utilisant la commande until permettant d’afficher les nombres paires positifs inférieurs
à un nombre passé en paramètre
........................................................................................
........................................................................................
........................................................................................
........................................................................................
........................................................................................
........................................................................................
........................................................................................
........................................................................................
........................................................................................
........................................................................................
........................................................................................
........................................................................................
2. Ecrire un script-shell multiplicateur.sh utilisant la commande while affichant les multiplicateurs d’un
nombre x qui sont inférieurs à un nombre y. x et y sont des paramètres du script. Par exemple :
$ ./multiplicateur.sh 3 20
0 3 6 9 12 15 18
........................................................................................
........................................................................................
........................................................................................
........................................................................................
........................................................................................
........................................................................................
2
rs 2021)
........................................................................................
........................................................................................
........................................................................................
........................................................................................
........................................................................................
........................................................................................
........................................................................................
3. Ecrire un script-shell qui demande à l’utilisateur la saisie d’un nom de fichier. Si le nom saisi n’est pas le nom
d’un fichier ordinaire, le script termine son exécution. Sinon, le script affiche le menu suivant :
• Afficher le contenu ;
• Editer avec vi ;
• Supprimer ;
• Copier ;
• Quitter.
Si l’utilisateur choisi :
• la première option : le script doit afficher le contenu du fichier ;
• la deuxième option : le script ouvre le fichier dans l’éditeur vi ;
• la troisème option : le script supprime le fichier ;
• la quatrième option : le script copie le fichier vers un fichier du même nom mais avec l’extension .bak
(Exemple : si le fichier en question est test.txt, le nom de la copie sera test.txt.bak)
• la cinquième option, le script termine son exécution.
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
3
rs 2021)
Exercice 4
La commande useradd permet de créer un compte d’utilisateur. Par exemple
$ useradd e1 −−home /home/e1 −−create−home −−groups smi
crée le compte e1 dont le répertoire personnel est /home/e1. L’utilisateur est ajouté au groupe smi.
Écrire un script-shell utilisant la commande select qui permet d’afficher le menu suivant :
• Créer un compte utilisateur ;
• Afficher la liste des utilisateurs ;
• Supprimer un compte utilisateur ;
• Quitter.
Si l’utilisateur choisi :
• la première option : le script demande un nom de compte et un nom de groupe et utilise la commande
useradd pour la création de ce compte.
• la deuxième option : le script affiche la liste des utilisateurs en exécutant la commande :
awk -F: '{print $1}' /etc/passwd)
• la troisème option : le script supprime un compte en utilisant la commande userdel : userdel e1 permet
de supprimer le compte e1. Le nom du compte doit être saisi par l’utilisateur
• la quatrième option : le script termine son exécution.
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................
..............................................................................................