Vous êtes sur la page 1sur 13

REPUBLIQUE TUNISIENNE

Ministère de l’Enseignement Supérieur et de la recherche Scientifique

Fascicule de Travaux Pratiques

Système d'exploitation

Préparé par

WISSAL HASSEN
1ère année Ingénieur Infotronique

Série N°1
GNU/LINUX
Gestion de fichiers (Création/ suppression/ déplacement/droits)

Rq: Au niveau des TP, la commande : man [command] doit être utilisé pour
avoir de l'aide sur une commande particulière: Exemple :“ man ls”.

1. Quelles sont les informations que nous pouvons déduire de l'invite de commande?

2. À partir de votre répertoire personnel créez la structure suivante :

|---- dossier1
| |---- dossier3
|---- dossier2
| |---- dossier4

Utilisez les commandes mkdir (pour la création des répertoires) et la commande cd (pour le
positionnement et le déplacement entre les dossiers).

3. En se positionnant dans votre répertoire personnel, enrichissez votre arborescence par


la branche ci-dessous, et ce en utilisant une seule commande :

|---- dossier5
| |---- dossier6

Utilisez la commande mkdir avec le paramètre -p :

4. Déplacez-vous dans le répertoire dossier1 avec un chemin absolu et créez le fichier


fichier1 dans ce répertoire.

5. Copiez fichier1 dans le répertoire dossier3 avec un chemin relatif.

6. Déplacez-vous dans dossier2 en utilisant un chemin relatif, et copiez le fichier fichier1


de dossier3 sous le nom fichier2 là où vous êtes (dans dossier2) et dans dossier5.

7. Renommez et déplacez fichier2 en fichier3 dans le répertoire dossier3 (la commande


mv déplace et renomme).

8. Supprimez fichier1 du répertoire dossier3 (la commande rm supprime le fichier).

9. Avec rmdir supprimez dossier4, puis dossier2 et tout son contenu. Est-ce possible ?
Pourquoi ? Comment faire ?

10. Faites une copie fichier2 du dossier5 dans le dossier6 sans utiliser la commande cp (en
utilisant les redirections)

11. Pour repérer les modifications apportées à votre arborescence, en vous positionnant

WISSAL HASSEN Page 2


1ère année Ingénieur Infotronique

dans votre répertoire personnel taper ls et chercher dans le man l'option qui vous
permet d'afficher la liste des sous-répertoires.

12. Quel est le but de la commande ls -l [a-z]*. ??[ !0-9] ?

13. Lister les entrées du répertoire /usr/bin dont le nom commence par la lettre m.

14. Lister les entrées du répertoire /usr/bin dont le nom commence par la lettre m et
comporte exactement 3 caractères.

15. Lister les entrées du répertoire /usr/bin dont le nom commence par la lettre m et
comporte au moins 3 caractères.

16. Lister les noms de fichiers comportant une étoile *.

17. Pour le dossier6 et le fichier2 du dossier5, quels sont les droits par défaut? Peut-on-
spécifier d'autres droits par défaut?

18. Après création d'un fichier ou un répertoire peut-on changer les droits?

19. Accorder au dossier9 exactement le droit de lecture aux autres.

20. Accorder au fichier9 le droit d'écriture au propriétaire.

21. Oter au dossier9 le droit d'exécution au groupe.

WISSAL HASSEN Page 3


1ère année Ingénieur Infotronique

Série N°2
GNU/LINUX
Gestion des utilisateurs

Rq: Au niveau des TP, la commande : man [command] doit être utilisé pour
avoir de l'aide sur une commande particulière: Exemple :“ man ls”.

1-Afficher le contenu de la variable d'environnement PATH. Expliquez.


2-Afficher le contenu de la variable d'environnement SHELL. Expliquez.
2-Ou se trouvent les commandes: ls, adduser et chsh. Quelles sont leurs rôles.
3-Créer deux groupes gr1,gr2 avec la commande addgroup. Vérifiez leur ajout dans /etc/group
.Editer uniquement les lignes correspondantes.
4-Quels sont leur GID?
5-Créer deux utilisateurs 'user1' appartenant au groupe gr1 et 'user2' appartenant au groupe
gr2 avec la commande adduser. Vérifiez que leurs répertoires personnels existent. (pour
supprimer un utilisateur, utiliser la commande userdel).
6–Attribuez le mot de passe 'user1'a l'utilisateur 'user1'. De même pour 'user2'. Fixer la
validité du mot de passe a 5 jours.
7–Vérifiez l'ajout des utilisateurs dans /etc/passwd. Editer uniquement les lignes
correspondantes. Quelles sont leurs UID, leurs GID et leurs Shells correspondants. Que
signifie le caractère x dans le deuxième champ.
8-Editer les lignes correspondantes aux deux utilisateurs dans le fichier /etc/shadow.A quoi
correspond le deuxième champ.
9-Se logger en tant queuser1. Quel est votre répertoire courant.
Accéder a son répertoire personnel par deux moyens différents.
10-Accéder au répertoire /. Ensuite accéder à travers une seule commande au répertoire
précédent.
11 –Se logger en tant que root. Changer le groupe de user1 (gr1) en gr2. Vérifier la
modification.
12-Changer le SHELL de l'utilisateur user2 en BASH. Vérifier la modification par deux
moyens différents.

WISSAL HASSEN Page 4


1ère année Ingénieur Infotronique

Série N°3
GNU/LINUX
Gestion de fichiers (filtres / Droits Avancés)

Rq: Au niveau des TP, la commande : man [command] doit être utilisé pour
avoir de l'aide sur une commande particulière: Exemple :“ man ls”.

I. Les filtres

1 Connectez-vous en tant que user1.


2-Quelle est la valeur de « umask ». Que représente-t-elle.
3-Créez un fichier f et un répertoire r dans le répertoire personnel de user1.Qu'auront ils
comme droits d'accès. Vérifiez-le à travers la commande ls-l.
4-user2 a-t-il le droit de supprimer le fichier f. Expliquez.
5–Modifiez le droit de suppression de f pour user2 avec la commande chmod par trois
manières différentes.
6-Changez le propriétaire du répertoire r en user2 avec la commande chown.
7-Trouvez le numéro d'inonde de f en utilisant la commande ls.
8-Editez le contenu du fichier f avec l'éditeur vi comme suit:

9-Copiez le fichier f dans le fichier f2avec la commande cp et dans f3 avec la commande cat.
10-Quelles sont les numéros d'inode de f2et f3.
12-Affichez les lignes non redondants du fichier f2par la commande uniq.
13–Affichez les 2 premières lignes de f2 avec la commande head.
14–Affichez les 4 dernières lignes de f2avec la commande tail.

WISSAL HASSEN Page 5


1ère année Ingénieur Infotronique

15-Affichez les numéros de lignes de f2 avec les commandes nl et cat.


16-Affichez le nombre d'octets, le nombre de mots et le nombre de lignes avec la commande
wc.
17-Modifiez les lettres 'abcd1x' par 'ABCDEX' du fichier f2.
18 –Ajoutez a la fin du fichier f3 le contenu de f2.
19-Trouvez le numéro d'inode de f3.
20-Triez le contenu def3 avec la commande sort dans l'ordre croissant puis dans l'ordre
décroissant.
21-Séparer le fichier f3 en plusieurs fichiers contenant chacun 2 lignes avec la commande
split.
22-Quel est le propriétaire du fichier /etc/passwd.. Extraire uniquement la colonne des UIDs
avec la commande cut.
23-Extraire uniquement les colonnes login et GID de l'utilisateur user2.
24-Créez un lien symbolique fl vers le fichier f2 avec la commande ln.
Vérifiez sa création avec la commande ls –l et affichez son contenu.

II Droits Avancés

1Créer un fichier f et un répertoire r dans le répertoire personnel de l'utilisateur user1 .Lister


leurs droits d'accès. Commentez.
2Connecter vous en tant que user2 et supprimer obligatoirement le fichier f.
3Expliquer le rôle du droit Sticky Bit et des droits endossables SUID et SGID sur les
répertoires et les fichiers exécutables.
4 Modifier le droit d'accès au répertoire r en 757 .Créer un fichier sup sous le répertoire r.
Utiliser un droit avancé pour ne pas permettre à l'utilisateur user2de supprimer le fichier sup.
5Quel est le rôle de la commande chsh. Quels sont ses droits d'accès. Que remarquez-vous.
Donner une explication à cela.
6Créer dans un répertoire trouv 3 fichiers f1, f2 et f3 respectivement avec les droits rwrrwx
,rrx rwet rwxrw
7Modifier les droits de fichiers f1 en Sticky Bit,f2 en SUID et f3 en SUID
8Afficher les fichiers avec les droits d'accès SUID.
9 –Afficher tous les fichiers avec les droits avancés.

WISSAL HASSEN Page 6


1ère année Ingénieur Infotronique

10-Ajouter un drapeau immuable i au fichier sup avec la commande chattr . Vérifier l'ajout
avec la commande lsattr .Essayer de supprimer le fichier sup en tant que user1 et en tant que
root . Que remarquez vous.

WISSAL HASSEN Page 7


1ère année Ingénieur Infotronique

Editeur vi
Création de fichiers avec vi
1. Lancer vi sans argument pour créer un nouveau fichier (sans nom). Taper Ctrl-L pour faire
disparaître le message de présentation.
2. Entrer en mode insertion (avec i ou a) et taper le texte suivant :
"Je vous paierai,
La Cigale, ayant chanté
Avant Août, foi d'animal,
Tout l'été,
Intérêt et principal. "
Se trouva fort dépourvue
La Fourmi n'est pas prête
Quand la bise fut venue :
C'est là son moindre défaut.
un seul petit morceau
Que faisiez-vous au temps chaud ?
De mouche ou de vermisseau.
Dit-elle à cette emprunteuse.
Elle alla crier famine
-Nuit et jour à tout venant
Chez la Fourmi sa voisine,
Je chantais, ne vous déplaise.
La priant de lui prêter
-Vous chantiez ? j'en suis fort aise.
Quelque grain pour subsister
Jusqu'à la saison nouvelle.
3. Sortir du mode insertion avec Esc
4. Sauver ce texte sous le nom fontaine.txt (en tapant :w fontaine.txt Entrée ).
5. Taper :e lamartine.txt Entrée pour passer à l’édition d’un nouveau fichier appelé
lamartine.txt
6. Passer en mode insertion et saisir les lignes suivantes :
Ainsi, toujours poussés vers de nouveaux rivages, Dans la nuit éternelle emportés sans retour,
Ne pourrons-nous jamais sur l'océan des âges Jeter l'ancre un seul jour ? Lamartine
7. Sortir du mode insertion avec Esc
8. Sauver le fichier tout en quittant vi en tapant :wq Entrée
Déplacements dans vi
a. Dans fontaine.txt, se placer sur le mot famine, en utilisant les flèches.
b. Se placer sur le mot cigale, en utilisant les touches h , j , k et l .2
c. Se placer sur le mot vermisseau
d. Se placer sur la première ligne avec :1 Entrée
e. Se placer sur la dernière ligne avec G
f. Se placer sur la ligne no 10 avec :10 Entrée
g. Se placer sur la prochaine occurrence (apparition) de jour avec /jour Entrée
h. Se placer sur le premier caractère de la ligne suivante avec Entrée
i. Se placer sur le dernier caractère de la ligne avec $
j. Se placer sur le premier caractère de la ligne avec ^
k. Se déplacer de 3 mots en avant avec 3w
l. Se déplacer de 12 mots en arrière avec 12b

WISSAL HASSEN Page 8


1ère année Ingénieur Infotronique

m. Se placer sur la dernière lettre du mot avec e


n. Se placer sur l’occurrence précédente de fourmi avec ?fourmi Entrée
o. Se placer sur l’occurrence précédente de fourmi avec n
Insertions
a. Se placer en fin de fichier avec G. À l’aide de la commande d’insertion o, insérer la ligne
suivante : Eh bien! dansez maintenant."
b. Sortir du mode insertion avec Esc
c. Se placer sur le mot aout en tapant ?aout Entrée .
À l’aide de la commande d’insertion i, ajouter l’ devant aout. Sortir du mode insertion.
d. Remonter d’une ligne. À l’aide de la commande d’insertion A, rajouter lui dit-elle à la fin
de la ligne. Sortir du mode insertion.
e. Se placer sur la prochaine occurrence de prete en tapant /prete Entrée , puis sur le dernier
caractère du mot avec e. À l’aide de la commande d’insertion a, rajouter use à la fin du mot.
Sortir du mode insertion.
f. Se placer sur l’occurrence précédente de mouche en tapant ?mouche Entrée . À l’aide de la
commande d’insertion I, rajouter Pas en début de ligne. Sortir du mode insertion.
g. sauver le fichier (:w Entrée)
Numérotation lignes
Afficher le numéro de la ligne contenant Interet et principal. ( taper :set nu Entrée pour activer
la numérotation des lignes/ désactiver en tapant :set nonu Entrée)
Copier/couper/coller
:sav copieCigale.txt (faire une copie du fichier)
1. copier toutes les lignes [n]yy (copier n lignes) et p ou P (coller). Taper u (annuler) en cas de
mauvais collage (le collage ne doit pas mélanger les lignes). Insérer 3 lignes blanches entre
les deux textes.
2. Sur la première phrases du texte du haut, permuter les mots deux à deux (La avec Cigale,
ayant avec chanté) à l’aide des commandes [n]dw (couper n mots) et p ou P.
3. Sur les 2 phrases suivantes, permuter les groupes de deux mots avec les deux mots suivants
avec les mêmes commandes (tout l'été avec se trouva, etc.).
4. Sur le texte du bas, permuter la première phrase et la deuxième avec [n]dd (couper n lignes)
et p ou P.3
Chercher/remplacer
Remplacer toutes les occurrences de fourmi par FOURMI dans le texte

WISSAL HASSEN Page 9


1ère année Ingénieur Infotronique

Série N°4
GNU/LINUX
Redirection d’entrée/sortie

Rq: Au niveau des TP, la commande : man [command] doit être utilisé pour
avoir de l'aide sur une commande particulière: Exemple :“ man ls”.

1-Effectuer cette suite de commandes en une seule fois:


– supprimer un fichier quelconque.
– créer un répertoire re
– afficher le mot “bonjour” à l'écran.
A/ Il faut que toutes le commandes soient exécutées même si elle n'ont pas réussi.
B/ Il faut que toutes le commandes soient exécutées sauf la création du répertoire re qui ne se
fait que si la suppression du fichier a réussi.
Aide: «Utiliser les opérateurs logiques ou autres entre les commandes»
2-Créer un fichier f1 dont le contenu est:
2011
janvier
14
Créer un fichier f2 dont le contenu est:
historique
date
une
est
A partir de ces deux fichiers, créer un fichier f3 dont le contenu est:
«14
janvier
2011
est
une
date
historique»
Aide: «chercher affichage inverse d'un fichier sous linux»2

WISSAL HASSEN Page 10


1ère année Ingénieur Infotronique

3-Créer dans un fichier info le contenu suivant:


tlili|rim|15
bensouayeh|ahmed|17
bensassi|rima|14
benjbra|wassim|18
a/ Afficher seulement les prénoms
b/ Afficher juste les deux premiers caractères de chaque ligne
c/ Afficher seulement les deux premières lignes du fichier info
d/ Ajouter la ligne suivante a la fin du fichier info sans l'ouvrir:
bensouayeh|afifa|14
d/ Afficher les deux dernières lignes
e/Afficher le nombre de lignes des fichiers de deux manières différentes.
F/Transformer les lettres minuscules en majuscules sans ouvrir le fichier avec la
commandetr.
G/Remplacer les noms bensouayeh par benyoussef avec la commande sed
h/ Supprimer les lignes ou la note est 14 avec la commande sed
i/ordonner par ordre décroissant le fichier info et mettre le résultat dans le fichier update.
4-créer un répertoire rep1 et son sous répertoire rep2 en une seule fois
5-créer les fichiers f7.exe, f9.c, f4.doc, f3.exe dans le répertoire courant.
Copier les fichiers exécutables dans le répertoire rep2.
6-Afficher sur l'écran les fichiers exécutables du répertoire courant et metter le résultat en
même temps dans un fichier res (utiliser la commande tee).
7-Afficher les lignes contenant le mot rim.
8-Afficher les lignes terminant par 18
9-dans le fichier f3 de la question 2, afficher les lignes qui ne commencent pas par la lettre
«j».
10-Créer dans un répertoire trouv 3 fichiers f1, f2 et f3 respectivement avec les droits rwrrwx
,rrx rwet rwxrw
a-Afficher les fichiers qui ont les droits de lecture et d'écriture pour le propriétaire(en utilisant
la commande find).
b-Afficher les fichiers qui ont les droits d'écriture pour les utilisateurs du groupe du
propriétaire. Une fois trouver supprimer les en utilisant une seule commande find.

WISSAL HASSEN Page 11


1ère année Ingénieur Infotronique

Série N°5
GNU/LINUX
Gestion des processus/ Gestion de paquetages
Rq: Au niveau des TP, la commande : man [command] doit être utilisé pour
avoir de l'aide sur une commande particulière: Exemple :“ man ls”.

1-Quel est le niveau d'exécution de votre système.


Que représente-t il.
2-Redémarrer votre machine enutilisant deux commandes différentes avec argument.
Éteindre ensuite votre machine en utilisant les même commandes.
3-Quel est le PID du processus init. Utilisez la commandeps.
4Ouvrez un terminal T1. Quel est le PID du processus de votre shell actuel. Tapez une
commande de votre choix(par exemple gedit ou xeyes). Quel est son PID et celui de son père.
5-Ouvrez un autre terminal T2. Utilisez la commande kill vue en cours pour:
a-Envoyer un signal pour arrêter le processus shell du terminal T1.
b-Envoyer un signal pour redémarrer le processus shell du terminal T1.
c-Envoyer un signal pour tuer brutalement le processus shell du terminal T1. Que remarquez-
vous.
6Connectez vous en tant que user1 (su user1) dans le terminal 1 et root (su) dansle terminal 2
. En tant que root, que se produira-t -il si on tue brutalement le processus (su user1) dans le
terminal 1.
7-Ouvrir les deux jobs: xeyeset xcalcen background(arrière plan).
Exécuter la commande jobs. Mettre xeyesen foreground (avant plan).
Le suspendre avec Ctr-Z. Que remarquez-vous. Le remettre en background.
8-Lancer la commande xeyesdans terminal 1. ouvrir un autre terminal 2,
tuer le processus shell du terminal 1. Vérifiez que le processus xeyes est termine.
9-Lancer la commande xeyesdans terminal 1 de maniere a ce que quand on ferme le processus
shell (parent) du terminal 1, leprocessus reste actif.
10-Décompresser ensuite désarchiver le fichier units-1.74.tar.gz.
Vérifier que le dossier units-1.74 a été créé.
11-Supprimer ce dossier . Décompresser et archiver en même temps le fichier units-
1.74.tar.gz avec la commandetar.2

WISSAL HASSEN Page 12


1ère année Ingénieur Infotronique

12-Explorer le dossier units-1.74. Vérifier l'existence des fichiers Makefile.in , configure.in,


configure, README, INSTALL.
A quoi serve t-ils.
13-Installer le programme units-1.74suivant le cours. A chaque étape, vérifier ce qui a été
ajoute dans le dossier units-1.74. Expliquez a chaque fois. Utilisez le programme pour
convertir 6cm en metres.
14-lister l'ensemble des bibliothèques partagées requises par le programme units et la
commande ls.
15-Via Internet installer l'application tennix en utilisant la commande apt-get.
16-Désinstaller l'application tennix et répondre oui par avance aux demandes de
confirmations.

WISSAL HASSEN Page 13

Vous aimerez peut-être aussi