Exercices corrigées Linux

Articles on 6 Mar , 2015

Exercice1 :
Déterminer les commandes permettant de réaliser les actions suivantes:
1- Quel est le système installé ?
2- Lister le contenu du répertoire courant de manière détaillé?
3- Lister le contenu du fichier passwd ?
4- Combien de lignes comportent le fichier /etc/fstab ?
5- Donner la commande qui vérifier si root est-il connecté ou non ?
6- Afficher la liste des fichiers de /etc dont le nom commence par c ou r ?
7- Afficher les 5 dernières lignes du fichier /etc/passwd ?
[toggle Title= »Corrigée »]

1- uname

uname (signifie: unix name ) est une commande Unix qui affiche les informations systèmes sur la machine sur laquelle elle est exécutée.

Exemples
uname -a affiche toutes les informations disponibles sur la version du système d’exploitation et le type de la machine.
Linux proxysvr 2.6.18-128.el5 #1 SMP Wed Dec 17 11:41:38 EST 2008 x86_64 x86_64 x86_64 GNU/Linux (nom du serveur, version et date du noyau, type de plateforme, type de système)

2- ls -l

3- ls /etc/passwd

4- less /etc/fstab | wc -l

Le fichier fstab (file systems table) est la table des différents systèmes de fichiers sur un ordinateur sous Unix/Linux : il contient une liste des disques utilisés au démarrage et des partitions de ces disques. Pour chaque partition, il indique comment elle sera utilisée et intégrée à l’arborescence du système de fichiers global (c’est-à-dire le point de montage). Il se trouve généralement à /etc/fstab.

5- who ou w

6- ls /etc | grep « ^[cr] »

7- tail -n5 /etc/passwd

[/toggle]
Exercice2 :
1- Créez deux groupes group1 et group2 ?
2- Créez quatre utilisateurs user1, user2, user3 et user4 ?
3- Rendez les utilisateurs dans les groupes :
– Les premier et deuxième utilisateurs sont membres du premier groupe.
– Les troisième et quatrième utilisateurs sont membres du second groupe.
– Le deuxième utilisateur est aussi membre du second groupe.
– Le quatrième utilisateur est aussi membre du premier groupe.
4- Vérifier les membres du groupe group2 ?
5- Créer deux répertoires rep1, rep2 et rep3 en seul ligne ?
6- Créer dans rep1 un fichier nommé fich11 et dans rep2 un répertoire nommé rep21 ?
7- Déplacez-vous au répertoire rep21
8- Copiez le rep1 et son contenu dans le répertoire courant?
9- Copiez l’arbre rep2 dans le répertoire rp3 ?
10- Visualisez le contenu de rep3 de façon détaillée ?
11- Supprimez l’arbre rep3 ?

[toggle Title= »Corrigée »]

1-

[root@localhost ali]# groupadd group1

[root@localhost ali]# groupadd group2

2-

[root@localhost ali]# useradd user1

[root@localhost ali]# useradd user2

[root@localhost ali]# useradd user3

[root@localhost ali]# useradd user4

3-

[root@localhost ali]# usermod -g group1 user1

[root@localhost ali]# usermod -g group1 user2

[root@localhost ali]# usermod -g group2 user3

[root@localhost ali]# usermod -g group2 user4

[root@localhost ali]# usermod -aG group2 user1

[root@localhost ali]# usermod -aG group1 user4

4-

less /etc/passwd

less /etc/group

ou

su user1

[user1@localhost ~]$id

5-

[ali@localhost ~]$ mkdir rep1 rep2 rep3

6-

[ali@localhost ~]$ cd rep1

[ali@localhost rep1]$ touch fich11

[ali@localhost rep1]$ cd ..

[ali@localhost ~]$ cd rep2

[ali@localhost rep2]$ mkdir rep121

7-

[ali@localhost rep2]$ cd rep21

[ali@localhost rep21]$

8-

[ali@localhost rep21]$ cp -r ../../rep1 .

9-

[ali@localhost rep21]$ cp -r ../../rep2 ../../rep3

10-

[ali@localhost ~]$ ls -l rep3

11-

[ali@localhost ~]$ rm -r rep3

[/toggle]
Exercice3 :
Reporter dans un fichier texte les commandes pour le travail suivant :
1. se connecter en administrateur linux
2. afficher les fichiers relatifs aux configurations utilisateurs
3. afficher le fichier /etc/passwd par trois commandes différentes
4. on veut afficher l’identité de l’utilisateur user
5. Etablir l’utilisateur Tux1 avec conditions suivantes:
a. son home directory /home/toto1 (créer la d’abord)
b. son id 508
c. son GId 601 pour le groupe rtoto (créer le groupe d’abord)
d. son mot de passe est 0/toto1
6. Changer son mot de passe par 0/guest1
7. Afficher la ligne relatif à toto1 dans le fichier /etc/shadow

[toggle Title= »Corrigée »]

1- [ali@localhost ~]$ su

 [root@localhost ali]$ 

2- [root@localhost ali]$ ls /etc

3- [root@localhost ali]$ cat  /etc/passwd

 [root@localhost ali]$ more /etc/passwd

 [root@localhost ali]$ less /etc/passwd

La différence entre ces commandes:

cat: affiche le contenu d’un fichier d’un coup dans la console (commande très rapide) ce qui fait que l’on n’a pas le temps de le lire s’il est très gros.

less: affiche le contenu page par page.

more:  affiche le contenu page par page, la différence entre more et less c’est que more est vieux et possède peu de fonctionnalités, tandis que less est beaucoup plus puissant et rapide.

4- [root@localhost ali]# su user

[user@localhost ali]$ id

5- [root@localhost ali]$useradd Tux1

a-  [root@localhost ali]$ usermod -d /home/toto1 Tux1

b-  [root@localhost ali]$ usermod -u 508 Tux1

c-  [root@localhost ali]$ groupadd -g  601 rtoto

 [root@localhost ali]$ usermod -g rtoto Tux1

d-  [root@localhost ali]$ usermod -p 0/toto1 Tux1

6-  [root@localhost ali]$ usermod -p 0/guest1 Tux1

7-  [root@localhost ali]$ less /etc/shadow | grep toto1

 

[/toggle]

Exercice4

1. Dans votre répertoire courant, créez en une commande les fichiers suivants:
Ita1, ita1, Ita2, ita2, ita, Ita, itaadarissa, istaadarissa
2. Créer le répertoire « dossierv1 » dans votre répertoire courant,  et déplacez les fichiers précédemment créés dans le répertoire « dossierv1″.
3. Lister tous les fichiers se terminant par 5
4. Lister tous les fichiers commençant par ita4
5. Créer le répertoire  » d_copie1  » dans votre répertoire courant
6. Copier les fichiers dont l’avant dernier caractère est un 4 ou 1 dans le répertoire / d_copie1 en une seule commande.

[toggle Title= »Corrigée »]

1- [ali@localhost ~]$ touch Ita1 ita1 Ita2 ita2 ita Ita itaadarissa istaadarissa

2-[ali@localhost ~]$ mkdir dossierv1  

[ali@localhost ~]$cp Ita1 ita1 Ita2 ita2 ita Ita itaadarissa istaadarissa dossierv1

3-[ali@localhost  dossierv1]$ ls  *5

4-[ali@localhost  dossierv1]$ ls ita4*

5-[ali@localhost ~]$ mkdir d_copie1 

6-[ali@localhost ~]$ find  dossierv1 -name  « *[14]? » -exec   mv    {}   d_copier/   \;

[/toggle]

Exercice5

Quelles sont les commandes (selon deux représentations  décimale et caractère) pour lui donner les droits suivant (on suppose qu’après commande on remet le répertoire à 755) sur chacun de ces  dossiers

Droit du propriétaire Droit du groupe Droit du les autres
lecture écriture accès lecture écriture accès lecture Ecriture accès
Dossier1 oui oui oui oui non oui non non oui
Dossier2 oui non oui non oui non non non oui

 

[toggle Title= »Corrigée »]

1- Dossier1

Méthode décimale:

chmod 751 Dossier1

Méthode symbolique:

chmod u=rwx, g=rx, o=x Dossier1

2- Dossier2

Méthode décimale:

chmod 521 Dossier2

Méthode symbolique:

chmod u=rx, g=w, o=x Dossier2

[/toggle]

Exercice6

On veut établir un fichier fichier1_droit dans le répertoire dossier_droit,
Par défaut ce fichier est à 644 (rw-r–r–).
En partant du répertoire courant, pour chaque commande de l’exercice précédent, essayez d’accèder au répertoire dossier2_droit (commande cd), de faire un ls dans dossier_droit et de modifier le fichier2_droit avec un éditeur quelconque (vi par exemple).
1. Etablir le répertoire « dossier1_droit » avec les droits normal
2. Accéder à ce dossier
3. Etablir le fichier « fichier1_droit » avec les droits normal
4. afficher le contenu de ce dossier
5. modifier les droits du fichier pour qu’il soit modifiable par tout le monde
6. tester d’ouvrir fichier par vi et ajouter vos nom et prénom à la fin
7. afficher les droit du fichier et celle du dossier

[toggle Title= »Corrigée »]

1- [ali@localhost ~]$ mkdir  dossier1_droit

2- [ali@localhost ~]$ cd dossier1_droit

3- [ali@localhost dossier1_droit]$ touvh fichier1_droit

4- [ali@localhost dossier1_droit]$ ls

5- [root@localhost dossier1_droit]# chmod a+w fichier1_droit

ou

[root@localhost dossier1_droit]# chmod  666 fichier1_droit

ou

[root@localhost dossier1_droit]# chmod  g=rw, o=rw  fichier1_droit

ou

[root@localhost dossier1_droit]# chmod  g+w, o+w  fichier1_droit

6- [ali@localhost dossier1_droit]$ vi fichier1_droit

7- [ali@localhost dossier1_droit]$ ls -l  fichier1_droit

[ali@localhost ~]$ ls -l  dossier1_droit

[/toggle]

Exercice7

Sans titre

1. Créer l’arborescence ci-dessus dans le dossier /home
2. Créer 2 utilisateurs TRI et TSGE avec mot de passe P@ssw0rd
3. Copier tous les fichiers du répertoire /dev qui ont l’extension .C vers le répertoire facture (en utilisant les chemins relatifs pour la source et pour la destination.
4. Renommer le répertoire Module3 par Examen (En utilisant un chemin relatif pour la source et un chemin absolu pour la destination)
5. Créer le répertoire Absence à l’intérieur du répertoire Jawad
6. Créer un lien symbolique pour le répertoire TP1 dans /home et nommer le TP1_ls
7. Déplacer la branche Module2dans le répertoire Examen en utilisant des chemins absolus)
8. Donner les droits drwx- – – r – x pour le dossier jawad
9. On veut que tous les nouveaux répertoires crées auront par défaut le masque 750 (rwxr-x – – -)
10. Créer un point de montage du lecteur cdrom dans le dossier /media
11. archiver l’arborescence /home/karim sous le nom karim.tar
12. même question mais en utilisant la compression (le nom sera karim.tar.gz)
13. rechercher tous les fichiers de l’utilisateur rachid dans l’arborescence / dont le nom commence par f
14. arrêter l’application xclock sachant que son numéro de processus = 2966
15. afficher les 13 dernières lignes du fichier /etc/passwd
16. supprimer le mot de passe de l’utilisateur TRI
17. changer le mot de passe du root
18. supprimer l’utilisateur TSGE
19. afficher les paquetages installés sur la machine
20. Forcer la désinstallation des paquetages openoffice

[toggle Title= »Corrigée »]

1- [ali@localhost ~]$ mkdir -p /home/Jawad   /home/Karim/Module3   /home/Karim/Module2  /home/Karim/Module1/Cours  /home/Karim/Module1/Cours/TP/TP1    /home/Karim/Module1/Cours/TP/TP2   /home/Karim/Module1/Cours/TP/TP3   /home/Karim/Module1/Cours/TP/TP4

ou

[ali@localhost ~]$ mkdir -p /home/Jawad   /home/Karim/Module3   /home/Karim/Module2  /home/Karim/Module1/Cours  /home/Karim/Module1/Cours/TP/TP{1,2,3,4} 

2- [root@localhost ~]# useradd -p P@ssw0rd TRI

root@localhost ~]# useradd -p P@ssw0rd TSGE

3- On suppose que le dossier facture se trouve dans le dossier jawad et que le dossier courant est /home

[root@localhost home]# cp ../dev/*.c   /jawad/facture/

4- [root@localhost home]# mv   Karim/Module3   /home/Karim/Examen

5-  [root@localhost home]# cd Jawad

 [root@localhost home]#mkdir Absence

6-  [root@localhost home]# ln -s Karim/Module1/TP/TP1  TP1_ls

7-  [root@localhost home]# mv  /home/Karim/Module2   /home/Karim/Examen

8-  [root@localhost home]# chmod  705  jawad

9-  [root@localhost home]# umask 027

10-  [root@localhost home]# mount /dev/cdrom /media

11-  [root@localhost home]# tar  -cvf  karim.tar /home/Karim 

12-  [root@localhost home]# tar  -zcvf   karim.tar.gz  /home/Karim 

13-  [root@localhost home]# find  /  -name  f*  -user rachid

14-  [root@localhost home]# kill 2966

15-  [root@localhost home]# tail  -n13  /etc/passwd

16-  [root@localhost home]# passwd TRI

n’écrit rien dans le mot de passe et taper Entrer

17-  [root@localhost home]# passwd

18-  [root@localhost home]# userdel TSGE

19-  [root@localhost home]# dpkg –get-selections

20-  [root@localhost home]# dpkg -r -i openoffice

ou

[root@localhost home]# removepkg openoffice

ou

[root@localhost home]# rpm -qa openofficeorg\* | xargs rpm –erase –nodeps 

 

 

[/toggle]

Exercice8
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 les fichiers (sortie de la commande ls redirigée vers grep) avec les critères sur leur nom suivant:
1. Critère 1 Le nom doit être Fraise ou fraise
2. Critère 2 se est en fin de nom
3. Critère 3 ai est présent dans le nom
4. Critère 4 Nom contenant un chiffre numérique
5. Critère 5 Nom contenant la chaîne mm ou MM

[toggle Title= »Corrigée »]

[ali@localhost ~]$ mkdir essai-grep

[ali@localhost ~]$ cd essai-grep

[ali@localhost essai-grep]$ touch tomate poire pomme cerise Fraise fraise courgette POMME3 afraise

1- [ali@localhost ~]$ ls essai-grep | grep « ^[fF]aise$ »

2- [ali@localhost ~]$ ls essai-grep | grep « se$ »

3- [ali@localhost ~]$ ls essai-grep | grep « ai »

4- [ali@localhost ~]$ ls essai-grep | grep « [0-9] »

5- [ali@localhost ~]$ ls essai-grep | grep « [mM]\{2\} »

[/toggle]