0% ont trouvé ce document utile (0 vote)
48 vues6 pages

Examen Ratt2024

Transféré par

soufiane.maafi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
48 vues6 pages

Examen Ratt2024

Transféré par

soufiane.maafi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université Mohammed Premier Année universitaire 2023-2024

Faculté des Sciences Filière SMI - Semestre : S3


Département d’Informatique Module : Système d’Exploitation I
Oujda Responsable : E.M. DAOUDI

Examen de la Session de Rattrapage


Le 05 Février 2024
Durée 1h30

Exercice 1 (4 pts)
1. Soit « fiche » un fichier du répertoire courant. A partir du répertoire courant :
a. Donner les droits d’accès du fichier « fiche » après avoir exécuté la commande suivante :
% chmod 563 fiche
b. Donner les nouveaux droits d’accès du fichier « fiche » après avoir exécuté la
commande suivante :
% chmod go=rw fiche
c. Donner les nouveaux droits d’accès du fichier « fiche » après avoir exécuté la
commande suivante :
% chmod u+x,o-r fiche

2. Donner une commande équivalente à chacune des commandes suivantes :


a. % ls -d *
b. % ls -d * .*

Exercice 2 ( 6 pts)
1. Donner la commande qui affiche les noms des fichiers et des sous-répertoires du
répertoire courant qui commencent avec une lettre minuscule et se terminent avec un
chiffre sans contenir de chiffres au milieu.
2. Soit « fiche » un fichier texte. Ecrire un Script Shell qui:
- Sauvegarde la première et la dernière lignes du fichier « fiche » dans le fichier
« fiche1 ».
- Sauvegarde la deuxième et l’avant dernière lignes du fichier « fiche » dans le
fichier « fiche2 ».
3. Le but de cet exercice est d’afficher, à l’aide de la commande « find », les noms des
sous-répertoires qui commencent avec la lettre « p », à partir du répertoire racine.
Donner la commande qui :
a. Sauvegarde les résultats dans le fichier « res » et les erreurs dans le fichier
« erreur ».
b. Sauvegarde les résultats et les erreurs dans le fichier « global ».

Exercice 3 ( 6 pts)
A partir du répertoire courant :
1. Donne la commande qui affiche le nombre de fichiers ordinaires du répertoire courant.
2. Donne la commande qui affiche le nombre de sous-répertoires du répertoire courant.
3. Ecrire un Script Shell qui permet d’afficher le nombre de sous-répertoires, du
répertoire courant, dont les membres du groupe ont les droits de lecture et d’écriture.
Exercice 4 : (4 pts)
Soit « fiche » un fichier texte.
1. Donner le résultat d’exécution du Script Shell suivant:

#!/bin/bash
let i=1
let n=`wc -l < fiche`
while [ $i -le $n ]
do
head -n +$i fiche | tail -n 1 | grep "a*"
let i=$i+1
done

2. Donner une commande équivalente à ce script:


a. Sans utiliser la commande « grep ».
b. En utilisant la commande « grep ».
Université Mohammed Premier Année universitaire 2023-2024
Faculté des Sciences Filière SMI - Semestre : S3
Département d’Informatique Module : Système d’Exploitation I
Oujda Responsable : E.M. DAOUDI

Correction de l’examen de la Session de Rattrapage


Le 05 Février 2024

Exercice 1 (4 pts) :
1. Soit « fiche » un fichier du répertoire courant. A partir du répertoire courant :
a. Donner les droits d’accès du fichier « fiche » après avoir exécuté la commande suivante :
% chmod 563 fiche
b. Donner les nouveaux droits d’accès du fichier « fiche » après avoir exécuté la
commande suivante :
% chmod go=rw fiche
c. Donner les nouveaux droits d’accès du fichier « fiche » après avoir exécuté la
commande suivante :
% chmod u+x,o-r fiche

2. Donner une commande équivalente à chacune des commandes suivantes :


c. % ls -d *
d. % ls -d * .*

Réponses :

1.
1.a Les droits d’accès deviennent : « r-x rw- -wx »
en effet :
5=101 : correspond aux droits d’accès « r-x »
6= 110 : correspond aux droits d’accès « rw- »
3= 011 : correspond aux droits d’accès « -wx »
Donc les droits d’accès du fichier « fiche » deviennent : r-x rw- -wx
1.b. Après voir exécuté la commande « chmod go=rw fiche », les droits d’accès du
fichier « fiche » deviennent : r-x rw- rw-
En effet :
- Au propriétaire, on garde les mêmes droits d’accès : r-x
- Aux membres du groupe, on affecte les droits de lecture et d’écriture : rw-
- Aux autres utilisateurs, on affecte les droits de lecture et d’écriture : rw-
Donc, les droits d’accès du fichier « fiche » deviennent : r-x rw- rw-
1.c Après avoir exécuté la commande « % chmod u+x,o-r fiche », les droits d’accès
du fichier « fiche » deviennent : r-x rw- -w-
En effet :
- Au propriétaire, on rajoute le droit d’exécution (qui existe déjà) : r-x
- Aux membres du groupe, on garde les mêmes droits : rw-
- Aux autres utilisateurs, on supprime le droit de lecture : -w-
Donc, les droits d’accès du fichier « fiche » deviennent : r-x rw- -w-
2.
2.a La commande « ls -d * » est équivalente à la commande « ls »
2.b La commande « ls -d * .* » est équivalente à la commande « ls -a »

Exercice 2 ( 6 pts)
1. Donner la commande qui affiche les noms des fichiers et des sous-répertoires du
répertoire courant qui commencent avec une lettre minuscule et se terminent avec un
chiffre sans contenir de chiffres au milieu.
2. Soit « fiche » un fichier texte. Ecrire un Script Shell qui:
- Sauvegarde la première et la dernière ligne du fichier « fiche » dans le fichier
« fiche1 ».
- Sauvegarde la deuxième ligne et l’avant dernière ligne du fichier « fiche » dans le
fichier « fiche2 ».
3. Le but de cet exercice est d’afficher, à l’aide de la commande « find », les noms des
sous-répertoires qui commencent avec la lettre « p », à partir du répertoire racine.
Donner la commande qui :
c. Sauvegarde les résultats dans le fichier « res » et les erreurs dans le fichier
« erreur ».
d. Sauvegarde les résultats et les erreurs dans le fichier « global ».

Réponses :

2. La commande est :
% ls | grep "^[a-z].*[0-9]$" | grep -v "^[a-z].*[0-9].*[0-9]$"
ou
% ls | grep "^[a-z] " | grep "[0-9]$" | grep -v "^[a-z].*[0-9].*[0-9]$"

3. Le Script shell :

#!/bin/bash
if [ -e fiche1 ]; then
rm fiche1
fi
if [ -e fiche2 ]; then
rm fiche2
fi
head -n 1 fiche >>fiche1
tail -n 1 fiche >>fiche1
head -n 2 fiche | tail -n +1 >> fiche2
tail -n 2 fiche | head -n 2 >> fiche2
4.
a. La commmande est :
% find / -name "p*" -type d > res 2>erreur
b. La commande est :
% find / -name "p*" -type d &> global

Exercice 3 ( 6 pts)
A partir du répertoire courant :
1. Donne la commande qui affiche le nombre de fichiers ordinaires du répertoire courant.
2. Donne la commande qui affiche le nombre de sous-répertoires du répertoire courant.
3. Ecrire un Script Shell qui permet d’afficher le nombre de sous-répertoires, du
répertoire courant, dont les membres du groupe ont les droits de lecture et d’écriture.

Réponses :
1. % ls -l | grep "^-" | wc -l
2. % ls -l | grep "^d" | wc -l
3.

#!/bin/bash
let i=0
ls -l | grep "^d" > fiche

while read line


do
droits=`echo $line | cut -c5-6`
if [ "rw" = "$droits" ] ; then
let i=$i+1
fi
done < fiche
echo "nb = $i"

Exercice 4 : (4 pts)
Soit « fiche » un fichier texte.
1. Donner le résultat d’exécution du Script Shell suivant:

#!/bin/bash
let i=1
let n=`wc -l < fiche`
while [ $i -le $n ]
do
head -n +$i fiche | tail -n 1 | grep "a*"
let i=$i+1
done

2. Donner une commande équivalente à ce script:


a. Sans utiliser la commande « grep ».
b. En utilisant la commande « grep ».
Réponses :
1. Ce Script Shell permet d’afficher le contenu du fichier « fiche »
2.
a. équivalente à la commande « % cat fiche »
b. équivalente à la commande « % grep ".*" fiche »

Vous aimerez peut-être aussi