Vous êtes sur la page 1sur 40

Programmation des systèmes numériques

Systèmes d'exploitation

2022/2023
Systèmes d'exploitation
TD
Exercice 1 :
Créez l’arborescence ci-dessus dans le répertoire « home »
Exercice 1 :
Créez l’arborescence ci-dessus dans le répertoire « home »

mkdir –p
/home/Jawad /home/Karim/Module3 /home/Karim/Module2 /home/Kari
m/Module1/Cours /home/Karim/Module1/Cours/TP/TP1 /home/Karim/M
odule1/Cours/TP/TP2 /home/Karim/Module1/Cours/TP/TP3 /home/Kari
m/Module1/Cours/TP/TP4
Exercice 2 :
Listez tous les fichiers :
• se terminant par '5’,

• commençant par 'annee4’,

• commençant par 'annee' avec aucun chiffre numérique,

• contenant la chaîne 'ana’,

• commençant par 'a' ou 'A’


Exercice 2 :
Listez tous les fichiers :
• se terminant par '5’,
ls *5
• commençant par 'annee4’,

• commençant par 'annee' avec aucun chiffre numérique,

• contenant la chaîne 'ana’,

• commençant par 'a' ou 'A’


Exercice 4 :
Listez tous les fichiers :
• se terminant par '5’,
ls *5
• commençant par 'annee4’,
ls annee4*
• commençant par 'annee' avec aucun chiffre numérique,

• contenant la chaîne 'ana’,

• commençant par 'a' ou 'A’


Exercice 4 :
Listez tous les fichiers :
• se terminant par '5’,
ls *5
• commençant par 'annee4’,
ls annee4*
• commençant par 'annee' avec aucun chiffre numérique,

• contenant la chaîne 'ana’,

• commençant par 'a' ou 'A’


Exercice 4 :
Listez tous les fichiers :
• se terminant par '5’,
ls *5
• commençant par 'annee4’,
ls annee4*
• commençant par 'annee' avec aucun chiffre numérique,
ls annee[!0-9]*
• contenant la chaîne 'ana’,

• commençant par 'a' ou 'A’


Exercice 4 :
Listez tous les fichiers :
• se terminant par '5’,
ls *5
• commençant par 'annee4’,
ls annee4*
• commençant par 'annee' avec aucun chiffre numérique,
ls annee[!0-9]*
• contenant la chaîne 'ana’,
ls *ana*
• commençant par 'a' ou 'A’
Exercice 4 :
Listez tous les fichiers :
• se terminant par '5’,
ls *5
• commençant par 'annee4’,
ls annee4*
• commençant par 'annee' avec aucun chiffre numérique,
ls annee[!0-9]*
• contenant la chaîne 'ana’,
ls *ana*
• commençant par 'a' ou 'A’
ls [aA]*
Exercice 3 :
 Donnez les chemins d’accès relatifs aux fichiers ou aux répertoires suivants
(abrégés par FD) par rapport au répertoire courant (abrégé par RC):

 FD: ssene/; RC: /


 FD: l3; RC: coralie
 FD: tp.c; RC: /info/l1

 FD: toto (dans damien/); RC: /info/l3


 FD: news; RC: /info/l3/coralie
 FD: damien; RC: /info/l3/coralie
 FD: toto tmp/; RC: /var/news
Exercice 4:
 En utilisant les commandes
 rm <fichier> (suppression d’un fichier),
 mv <source> <dest> (déplacement de source vers dest),
 cp <source> <dest> (copie de source vers dest),
donnez les lignes de commandes (en utilisant les chemins d’accès relatifs) qui
permettent de:
 copier le fichier .bash profile dans le répertoire coralie/ a partir de /.
Exercice 4:
 En utilisant les commandes
 rm <fichier> (suppression d’un fichier),
 mv <source> <dest> (déplacement de source vers dest),
 cp <source> <dest> (copie de source vers dest),
donnez les lignes de commandes (en utilisant les chemins d’accès relatifs) qui
permettent de:
 déplacer tp.c dans systeme/ a partir de coralie/.
Exercice 4:
 En utilisant les commandes
 rm <fichier> (suppression d’un fichier),
 mv <source> <dest> (déplacement de source vers dest),
 cp <source> <dest> (copie de source vers dest),
donnez les lignes de commandes (en utilisant les chemins d’accès relatifs) qui
permettent de:
 renommer tp.c en tp1.c à partir de ens/.
Exercice 4:
 En utilisant les commandes
 mkdir <nom de répertoire> (creation)
 rmdir <nom de répertoire>(suppression) ,
 mv <source> <dest> (déplacement de source vers dest),
donnez les lignes de commandes (en utilisant les chemins d’accès relatifs) qui
permettent de:
 créer un répertoire programmation/ dans damien/ à partir de /info/
Exercice 4:
 En utilisant les commandes
 mkdir <nom de répertoire> (creation)
 rmdir <nom de répertoire>(suppression) ,
 mv <source> <dest> (déplacement de source vers dest),
donnez les lignes de commandes (en utilisant les chemins d’accès relatifs) qui
permettent de:
 déplacer le répertoire programmation dans coralie a partir de /
Exercice 4:
 En utilisant les commandes
 mkdir <nom de répertoire> (creation)
 rmdir <nom de répertoire>(suppression) ,
 mv <source> <dest> (déplacement de source vers dest),
donnez les lignes de commandes (en utilisant les chemins d’accès relatifs) qui
permettent de:
 effacer le répertoire damien/ a partir de 13/
Exercice 5 :
Dans votre répertoire courant, vous créez un répertoire courant
essai_droit. Par défaut, ce répertoire est à 755 (rwxr-xr-x).
Quelles sont les commandes pour lui donner les droits suivants (on
suppose qu'après chaque commande on remet le répertoire à 755) :
Exercice 5 :
Dans votre répertoire courant, vous créez un répertoire courant
essai_droit. Par défaut, ce répertoire est à 755 (rwxr-xr-x).
Quelles sont les commandes pour lui donner les droits suivants (on
suppose qu'après chaque commande on remet le répertoire à 755) :

Commande 1 :chmod 751 essai_droit


chmod o-r essai_droit
Exercice 5 :
Dans votre répertoire courant, vous créez un répertoire courant
essai_droit. Par défaut, ce répertoire est à 755 (rwxr-xr-x).
Quelles sont les commandes pour lui donner les droits suivants (on
suppose qu'après chaque commande on remet le répertoire à 755) :

Commande 2 :chmod 521 essai_droit


chmod u-w,g-x,g+w,o-r essai_droit
Exercice 5 :
Dans votre répertoire courant, vous créez un répertoire courant
essai_droit. Par défaut, ce répertoire est à 755 (rwxr-xr-x).
Quelles sont les commandes pour lui donner les droits suivants (on
suppose qu'après chaque commande on remet le répertoire à 755) :

Commande 3 :chmod 214 essai_droit


chmod u-rx,g-r,o-x essai_droit
Exercice 5 :
Dans votre répertoire courant, vous créez un répertoire courant
essai_droit. Par défaut, ce répertoire est à 755 (rwxr-xr-x).
Quelles sont les commandes pour lui donner les droits suivants (on
suppose qu'après chaque commande on remet le répertoire à 755) :

Commande 4 :chmod 150 essai_droit


chmod u-rw,o-rx essai_droit
Exercice :
lister le contenu de votre emplacement courant
lister tout le contenu de votre emplacement courant (y compris les fichiers cachés), comment
peut-on identifier les fichiers cachés
lister le contenu de /etc/udev et le contenu de tous ses sous-répertoires
créer un nouveau dossier appelé « myetc » dans votre répertoire personnel puis copier dedans le
dossier /etc/udev et tout son contenu.
Supprimer le répertoire « myetc »
Avec le minimum de commande créer l’arborescence suivante dans votre répertoire personnel
rep

rep1 rep5 rep8

rep2 rep4 rep6

Rep3 Rep7
cut :
cut permet de couper une ligne par délimiteur, caractère et octet. Possibilité de passer du
texte à l'aide de fichiers ou la sortie d'une autre commande avec les options suivantes:
-f spécifier les champs à extraire
-c spécifier les caractères à extraire
-d spécifier les délimiteur à utiliser
Exemple: test.txt
245:789 4567 M:4540 Admin 01:10:1980
535:763 4987 M:3476 Sales 11:04:1978

$ cut test.txt -f 1,3  245:789 M:4540


$ cut test.txt -f -4  245:789 4567 M:4540 Admin
$ cut test.txt -d ':' -f 1,3  245:4540Admin 01
$ cut -c1,2,3  245
grep :
grep permet de rechercher une chaîne de caractères dans un fichier avec les :
-v affiche les lignes ne contenant pas la chaîne
-c compte le nombre de lignes contenant la chaîne
-n chaque ligne contenant la chaîne est numérotée
-x ligne correspondant exactement à la chaîne
-l affiche le nom des fichiers qui contiennent la chaîne
Les expressions régulières sont des suites de caractères permettant de faire des sélections. Elles
fonctionnent avec certaines commandes. Les différentes expressions régulières sont :
^ début de ligne
. un caractère quelconque
$ fin de ligne
x* zéro ou plus d'occurrences du caractère x
x+ une ou plus occurrences du caractère x
x? une occurrence unique du caractère x
[...] plage de caractères permis
[^...] plage de caractères interdits
\ {n\} pour définir le nombre de répétition n du caractère placé devant
Exercice :
Cherche dans le fichier /etc/passwd:
les lignes dont la 1ère lettre est quelconque et la 2ème doit être o.
les lignes contenant au moins un chiffre
les lignes commençant par t
les lignes ne commençant pas commençant par t
les lignes contenant les mots suivant le modèle T.t.
les lignes qui commencent par a ou b .. ou j
compter les lignes dans le fichier passwd qui commence par a
compter les lignes dans le fichier passwd qui se terminent par in
Exercice :
Cherche dans le fichier /etc/passwd:

les lignes dont la 1ère lettre est quelconque et la 2ème doit être o.
grep "^.o" /etc/passwd

les lignes contenant au moins un chiffre


grep ‘[0-9]’ /etc/passwd

les lignes commençant par t

Grep "^t“ /etc/passwd


Exercice :
les lignes ne commençant pas commençant par t
grep -w "^t" /etc/passwd
les lignes contenant les mots suivant le modèle T.t.
grep “T.t" /etc/passwd
les lignes qui commencent par a ou b .. ou j
grep "^[a-j]"
compter les lignes dans le fichier passwd qui se termine par a
Grep –c " ^a “
Grep –c " $in "
Exercice :
On suppose qu'un fichier liste.txt contient des informations sur les étudiants.

Chaque ligne représente un étudiant, et contient les informations suivantes : nom, âge et filière. Les
champs seront séparés par un « ; ».

Exemple : la ligne Ali;23;P26 correspond à l'étudiant Ali, âgé de 23 ans et appartenant à la promo 26.
1) Renvoyer toutes les lignes du fichier liste.txt qui correspondent à l'étudiant s'appelant 'Sami’.
2) Renvoyer toutes les lignes correspondant à des étudiants de la promo 24.
3) Renvoyer toutes les lignes des étudiants âgés de 22 ans.
4) Renvoyer les lignes des étudiants n'appartenant pas à la promo 25.
5) Renvoyer toutes les lignes contenant la chaîne 'mi' sans tenir compte de la casse.
6) Afficher que le nom de chaque étudiant,
7) Afficher que le nom et l'âge de chaque étudiant,
8) Afficher que le nom et la promo de chaque étudiant.
9) Afficher les trois premiers caractères de chaque ligne.
Exercice :
On suppose qu'un fichier liste.txt contient des informations sur les étudiants.

Chaque ligne représente un étudiant, et contient les informations suivantes : nom, âge et filière. Les
champs seront séparés par un « ; ».

Exemple : la ligne Ali;23;P26 correspond à l'étudiant Ali, âgé de 23 ans et appartenant à la promo 26.
1) Renvoyer toutes les lignes du fichier liste.txt qui correspondent à l'étudiant s'appelant 'Sami’.
grep sami liste.txt
2) Renvoyer toutes les lignes correspondant à des étudiants de la promo 24. grep P24 liste.txt
3) Renvoyer toutes les lignes des étudiants âgés de 22 ans. Grep 22 liste.txt
4) Renvoyer les lignes des étudiants n'appartenant pas à la promo 25. grep –v p25 liste.txt
5) Renvoyer toutes les lignes contenant la chaîne 'mi' sans tenir compte de la casse. Grep –i mi liste
6) Afficher que le nom de chaque étudiant, cut –d; -f 1 liste.txt
7) Afficher que le nom et l'âge de chaque étudiant, cut –d; -f 1,2 liste.txt
8) Afficher que le nom et la promo de chaque étudiant. cut –d; -f 1,3 liste.txt
9) Afficher les trois premiers caractères de chaque ligne. Cut -c1,2,3 liste.txt
Redirection & Pipe:
> et >> : redirigent le résultat d'une commande vers un fichier.
 > : rediriger dans un nouveau fichier. Si le fichier n’existe pas, il sera
créé. Sinon, le fichier sera écrasé (supprimé et recréé)
 >> : rediriger dans un nouveau fichier. Si le fichier n’existe pas, il sera
créé. Sinon, les données seront ajoutées à la fin de fichier, à la suite
du texte qui était déjà dans le fichier.
ls > myFile
Un pipe (en français tube de communication) permet de rediriger la
sortie d'une commande vers une autre
ls | grep myFile
Exercice :
pour le reste des questions votre emplacement est rep6,répondre sans changer d'emplacement
créer en une seule commande les fichiers suivants dans rep1 :
cours1 Cours2 cours4 cours47 cours41 cours417 coursUnix coursSgbd1 coursSgbd2 coursSgbd3
déplacer tous les fichiers se trouvant dans rep1 vers rep7
copier depuis rep7 tous les fichiers qui contient exactement 6 caractères dans leurs nom vers rep3
supprimer de rep7 tous les fichiers qui ont dans leur nom le caractère « 4 »
renommer le fichier coursUnix se trouvant dans rep7 en coursLinux
copier tous les fichiers se trouvant dans rep7 et qui continent dans leur nom la chaîne « Sgb » vers rep8
copier le dossier rep3 et tout son contenu dans rep6
supprimer le dossier rep8 et tout son contenu
rep

rep1 rep5 rep8

rep2 rep4 rep6

Rep3 Rep7
Exercice :
Supposons :
$ cat devinette.txt
devinette numero 4 :
pince mi et pince moi
sont dans un bateau.
pince mi tombe à l'eau.
qui est ce qui reste ?

 Qu'affichent les commandes suivantes :


1) $ cat devinette.txt | grep 4 | wc -l ?
2) $ cat devinette.txt | grep ce | wc -l ?
Exercice :
Créer un répertoire essai-grep dans votre home directory. Dans ce
répertoire créer les fichiers suivants:
tomate poire pomme cerise Fraise fraise courgette POMME3 afraise
Editez la sortie de la commande ls (redirigée vers grep) avec les
critères sur leur nom suivant:
Critère 1 ai est présent dans le nom
Critère 2 se est en fin de nom
Critère 3 le nom doit être Fraise ou fraise
Critère 4 Nom contenant un chiffre numérique
Critère 5 Nom contenant la chaîne mm ou MM
Exercice :
1) Chercher tous les fichiers dont le nom est 'passwd’.

2) Chercher tous les fichiers dont la date de la dernière modification remonte à


plus de 10 minutes.

3) Trouver tous les fichiers du groupe 'root’.

4) Chercher tous les fichiers dont la taille est supérieure à 20Mo.

5) Chercher tous les répertoires se trouvant sous /etc.

6) Chercher tous les fichiers de l'utilisateur ‘Tarik’


Exercice :
1) Chercher tous les fichiers dont le nom est 'passwd’.
find / -name "passwd"
2) Chercher tous les fichiers dont la date de la dernière modification remonte à
plus de 10 minutes.
find . -mmin +10
3) Trouver tous les fichiers du groupe 'root’.
find / -group root
4) Chercher tous les fichiers dont la taille est supérieure à 20Mo.
find / -size +20M
5) Chercher tous les répertoires se trouvant sous /etc.
find /etc -type d
6) Chercher tous les fichiers de l'utilisateur ‘Tarik’
find /home -user Tarik
Exercice :
1) Créez le groupe computestream.

2) Créez un compte utilisateur candidat, ce nouvel utilisateur est membre du


groupe computestream et le répertoire personnel de cet utilisateur est
/candidatRep.

3) Donnez un mot de passe à ce nouvel utilisateur (candidat).

4) Modifiez le répertoire personnel de cet utilisateur par /EtudiantsRep/ et


donnez student comme commentaire.
Exercice :
1) Créez le groupe computestream.
groupadd computestream

2) Créez un compte utilisateur candidat, ce nouvel utilisateur est membre du


groupe computestream et le répertoire personnel de cet utilisateur est
/candidatRep.
useradd candidat –d /candidatRep –G computestream

3) Donnez un mot de passe à ce nouvel utilisateur (candidat).


passwd candidat

4) Modifiez le répertoire personnel de cet utilisateur par /EtudiantsRep/ et


donnez student comme commentaire.
usermod candidat –d /EtudiantsRep –c student
Questions

Vous aimerez peut-être aussi