Vous êtes sur la page 1sur 14

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 Droit du le
propriétaire Droit du groupe autres
lectu écrit acc lectu écrit acc lectu Ecri
re ure ès re ure ès re ure
Dossi
er1 oui oui oui oui non oui non non
Dossi
er2 oui non oui non oui non non non
 
[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
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\} »