Semestre 1: 2024/2025 Enseignant : BEKECK Martin Roland
699517937
Spécialité : IG
Cours : UNIX de Base
GESTION DES REPERTOIRES
Action Linux
Affichage de la localisation du répertoire implicite pwd
Répertoire implicite .
Changement du répertoire implicite cd targetDir
Changement du répertoire implicite vers le répertoire parent cd ..
Changement du répertoire implicite vers le répertoire racine (de l'unité implicite cd /
sous Windows)
Changement de l'unité implicite N/A
Création d'un répertoire mkdir dirName
Copie d'un répertoire cp -r srcDir dstDir
Effacement d'un répertoire vide rmdir dirName
Effacement d'un répertoire non vide rm -r dirName
Renommage d'un répertoire mv oldName
newName
Déplacement d'un répertoire mv oldName
newName
Affichage du contenu d'un répertoire ls dirName
Affichage détaillé du contenu d'un répertoire ls -l dirName
Affichage détaillé complet du contenu d'un répertoire (y compris fichiers cachés) ls -la dirName
GESTION DES FICHIERS
Action Linux
Copie d'un fichier cp srcFile dstFile
Renommage d'un fichier mv oldName
newName
Déplacement d'un fichier mv oldName
newName
Effacement d'un fichier rm targetFile
Transformation d'un fichier texte en tant que fichier de commandes exécutable chmod +x targetFile
Transformation d'un fichier en fichier invisible Faire débuter son
nom par un point
Affichage complet du contenu d'un fichier cat targetFile
Affichage progressif du contenu d'un fichier more targetFile
Affichage interactif du contenu d'un fichier less targetFile
Affichage sous différents formats du contenu d'un fichier od targetFile
Affichage du début d'un fichier head targetFile
Affichage de la fin d'un fichier tail targetFile
Affichage des lignes d'un fichier triées par ordre alphabétique sort targetFile
Création d'un fichier vide touch targetFile
Configuration de l'heure de modification d'un fichier à l'heure actuelle touch targetFile
Création d'un fichier temporaire mktemp
Recherche d'un fichier dans une arborescence de répertoires find dir -name file
Recherche d'une chaîne de caractères dans un ou plusieurs fichiers grep str targetFile
GESTION DES LIENS
Action Linux
Création d'un lien matériel (fichiers uniquement) ln target linkName
Création d'un lien symbolique vers un fichier ln -s target
linkName
Création d'un lien symbolique vers un répertoire ln -s target
linkName
FONCTIONNALITES DIVERSES
Action Linux
Exécution d'une commande sans bloquage du terminal commande &
Exécution d'une commande avec envoi des messages d'exécution dans commande > targetFile
un fichier (texte)
Exécution d'une commande avec envoi des messages d'exécution en fin commande >> targetFile
d'un fichier (texte)
Envoi vers une commande du résultat d'exécution d'une autre commande1 | commande2
commande (Pipe)
Affichage d'un message echo message
Accès au contenu d'une variable d'environnement $var
Caractères joker
Caractère Linux
Un caractère unique (caractère . exclu) ?
Zéro, un ou plusieurs caractères (caractère . exclu) *
Un ensemble de caractères []
ADMINISTRATION EN LIGNE DE COMMANDE
Indiquer quelles sont les commande "ligne de commande" permettant de réaliser les opérations suivantes
dans les environnements unix:
Création d'un partage réseau.
Affichage de la liste des fichiers et/ou Vérification d'un système de fichiers.
répertoires d'un répertoire. Lancement de l'utilitaire de
Copie d'un fichier defragmentation.
Copie d'un répertoire. Lancement de l'utilitaire de gestion des
Déplacement d'un fichier. partition.
Effacement d'un répertoire. Lancement de l'utilitaire de création de
Changement du nom d'un fichier. systèmes de fichier.
Changement du nom d'un répertoire. Création d'une variable d'environnement.
Effacement d'un fichier. Affichage de la date du système.
Effacement d'un répertoire. Affichage de l'heure du système.
Création d'un répertoire. Affichage de l'état instantané de la liste
Affichage du répertoire implicite. des processus en cours de
Changement du répertoire implicite. fonctionnement.
Création d'un lien. Lancement d'un programme en tant que
Affichage complet du contenu d'un fichier. super-user.
Affichage progressif du contenu d'un Terminaison forcée d'un processus.
fichier. Lancement de commandes à l'heure
Tri par ordre alphabétique des lignes d'un indiquée.
fichier texte. Planification de commandes répétitives.
Comparaison de deux fichiers. Arrêt du système.
Recherche d'une chaine de caratères dans Affichage de la configuration des
un ou plusieurs fichiers. interfaces réseau sous TCP/IP présentes
Création d'un groupe d'utilisateurs. dans la machine.
Suppression d'un groupe d'utilisateurs. Interrogation d'un éventuel serveur DNS
Modification des caractéristiques d'un configuré sous TCP/IP.
groupe d'utilisateurs. Lancement d'un client ftp en ligne de
Création d'un utilisateur. commande.
Suppression d'un utilisateur.
Modification des caractéristiques d'un
utilisateur. A. Construire un tableau suivant le modèle
Modification du mot de passe d'un donné, contenant les commandes suivantes (avec
utilisateur. ou sans option).
Modification des autorisations sur un
fichier ou un répertoire. man, man -k,
Modification du propriétaire d'un fichier ou cd, cd .., ls, ls -a, ls -l, ls -al, pwd, mkdir, rmdir, cp, cp
un répertoire. -R, mv, rm, rm -R, touch, echo, history, history -c,
Copie de fichiers ou de répertoires avec who, passwd, cat.
préservation des autorisations.
Copie de fichiers ou de répertoires avec Pour chacune de ces commandes, étudier la page
préservation des propriétaires. d’aide et donner une description de la commande.
Copie de fichiers ou de répertoires avec Tester chacune de ces commandes sur des
préservation des informations d'audit. exemples concrets et analyser la réponse
Montage d'un répertoire réseau. du système
3/8
Exercice 1. Rappels1
1. Placez-vous dans votre répertoire personnel, créez un répertoire nommé archiDU et déplacezvous dans
ce répertoire.
2. Dans le répertoire archiDU, créez un fichier [Link]. Renommez ensuite ce fichier en [Link].
3. Copiez le fichier [Link] deux fois en donnant le nom que vous voulez aux copies
4. Tout en restant dans le répertoire archiDU, créez un répertoire test dans votre dossier personnel.
Déplacez ensuite tous les fichiers de archiDU dans le nouveau répertoire test.
5. Déplacez le répertoire test (et ce qu’il contient) dans archiDU. Affichez le contenu de archiDU d’abord de
manière simple puis de manière à voir tous les fichiers contenus dans les sous-répertoires.
6. Supprimez le répertoire test et tout ce qu’il contient
Exercice 2. Rappels2
1. Affichez la liste des fichiers du répertoire /usr/bin dont le nom commence par un t.
2. En utilisant la fonction cat, créez un fichier [Link] contenant quelques lignes de texte
3. Copiez le fichier [Link] en [Link] sans utiliser la commande cp.
4. En lisant le manuel de la commande cat (man cat), trouvez comment transformer le fichier
Exercice 3 : GESTION DES UTILISATEURS ET GROUPES
Soit l’arborescence suivante :
1. Créer l’arborescence ci-dessus.
2. Créer deux utilisateurs TOTO et SOSO avec mot de passe gsi
3. Copier tous les fichiers du répertoire /dev qui ont l’extension .C vers le répertoire Jawad (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 Module2 dans 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. Rechercher tous les fichiers de l’utilisateur rachid dans l’arborescence / dont le nom
commence par f
11. Lancer l’application xclock en tâche de fond et identifier son numéro de processus pour
l’arrêter.
12. Afficher les 13 dernières lignes du fichier /etc/passwd
13. Supprimer le mot de passe de l’utilisateur TOTO
14. Supprimer l’utilisateur SOSO
15. Donnez la commande pour afficher les droits du fichier [Link].
16. Décrivez de manière détaillée les 7 parties du résultat de la commande suivante :
4/8
17. Changer les droits de essai pour qu’il soit en lecture/écriture pour le groupe, lecture pour
le propriétaire et lecture au public.
18. Dans les systèmes d'exploitation dérives d'Unix, le codage des droits d’accès se fait sur 9 bits
groupes par 3 bits qui sont dans l'ordre :
- r le fichier est lisible par le propriétaire (- dans le cas contraire) ;
- w le fichier est modifiable par le propriétaire (- sinon) ;
- x le fichier est exécutable par le propriétaire (- sinon).
Ces droits sont codes en un entier. Pour ce faire, on convient de la correspondance :
r = 4, w = 2 et x =1. Ainsi, les droits rw- correspondent à l'entier 6 = 4+2. Donc rw-rw-rw- correspond à l'entier
666.
a. Préciser pour quelle catégorie d’utilisateurs chaque groupe définit les droits et permissions.
b. A quels droits correspondent les entiers 451; 224; 254 et 650 ?
c. Par quels entiers sont codes les droits rw-r- -r- - et rwxr-xr-x ?
GESTION DES PROCESSUS, TUBES ET REDIRECTIONS
Exercice 4 :
1. Quelle commande permet d’afficher la liste de tous les processus ?
− l’option <-e> indique que tous les processus doivent être affichés
− l’option <-u> restreint l’affichage aux processus de l’utilisateur
2. Que fait la commande xclock & ?
3. Donner la commande qui permet d’afficher la liste des travaux (processus) en cours d’exécution
ainsi que leur numéro de pid ?
4. Quelle commande permet de placer un processus en avant-plan ?
5. Quelle combinaison de touches clavier permet de stopper un processus ?
6. Quelle commande avec signal permet de tuer un processus ?
7. Lancer l’application xclock en tâche de fond et identifier son numéro de processus pour
l’arrêter.
8. Que font les commandes ci-dessous :
a. ls > [Link] ? b. echo Le Texte >> [Link]
9. Ecrire une ligne de commande équivalente aux trois commandes suivantes :
a. ls -l /usr/bin > tmp b. less tmp c. rm tmp
10. Pour envoyer un signal à un processus, on utilise la commande kill en précisant le signal et le
PID du processus concerné. Expliquer ce que font les trois commandes :
a.$ kill -9 382 b. $ kill -KILL 382 c.$ kill 382
Exercice 5 :
1. Lister les processus de votre utilisateur et rediriger le résultat vers le fichier «
/STAGE/processus/stagiaire ».
2. Lister l’ensemble des processus du système et rediriger le résultat vers le fichier «
/STAGE/processus/systeme ».
3. Lancer en tâche de fond la commande sleep avec une durée de 1000 secondes. Récupérer
son exécution au premier plan.
4. Comment faire pour envoyer de nouveau ce processus à l’arrière-plan ?
5. Visualiser les différents travaux en cours
EXERCICE 6 : Recherches et filtres
1. Copier dans le répertoire de connexion /home/[login] le fichier /etc/passwd.
2. Afficher les 7 premières lignes puis les 3 dernières.
3. Retrouvez la ligne contenant votre nom de login
4. Trier ce fichier par ordre d'UID croissant.
5. Combien y a-t-il d’utilisateurs créés sur votre système ?
6. Déplacer ce fichier dans le répertoire /STAGE/commandes.
7. Afficher les fichiers passwd présents dans le dossier /STAGE en précisant leur type.
5/8
EXERCICE 7 : Tubes et Redirections
1. Créer un fichier /home/[login]/suiviAdmin.
2. Ajouter au fichier suiviAdmin le texte « Voici les répertoires de /STAGE/commandes/ »
3. Toujours dans suiviAdmin, ajouter la liste des répertoires de
/STAGE/commandes/gestion/ en faisant apparaître les tailles avec l’indication Ko, Mo, Go ou To.
4. Ajouter au fichier suiviAdmin le texte « Voici les personnes ayant un fichier
listingEnCours sous /STAGE/commandes/gestion/
5. Tapez la commande. Que constatez-vous ?
find /STAGE/commandes/tickets –listingEnCours >>
/home/[login]/suiviAdmin 2>/home/[login]/erreur
6. Corriger la commande précédente pour remplir le fichier suiviAdmin.
7. Afficher parmi les 3 dernières lignes du fichier suiviAdmin celles qui contiennent pierre.
Exercice 8 : COMMANDES DE BASE : Affichage, Identification et Aide
1. Afficher la date du jour, ensuite le calendrier du mois et de l’année en cours.
2. Afficher les informations concernant le login courant.
3. Afficher les informations concernant l’utilisateur root.
4. Quels sont les autres utilisateurs connectés sur le système ?
Combien sont connectés sur des terminaux physiques nommés ttyX et sur des terminaux virtuels (ceux de
l’interface graphique) nommés pts/X ?
5. Rechercher de l’aide sur la commande passwd.
6. Rechercher des informations sur le formatage du fichier passwd.
GESTION DES FICHIERS ET REPERTOIRES
EXERCICE 1 : Arborescence et fichiers
1. Afficher le répertoire courant.
2. Déplacer vous de deux façons différentes vers le répertoire /home.
3. Vérifier que /home soit bien le nouveau répertoire courant.
4. Retourner dans le répertoire de connexion, et vérifier.
5. Créer en une seule commande les répertoires suivants :
/home/[login]/tickets/ /home/[login]/tickets/pierre/ /home/[login]/tickets/jacques/
EXERCICE 2 : Gestion des fichiers
1. Créer le fichier /home/[login]/tickets/listingEnCours.
2. Copier ce fichier dans les répertoires /home/[login]/tickets/pierre
et /home/[login]/tickets/jacques. Vérifier la taille de ces fichiers.
3. Vérifier la copie en comparant les tailles. Assurez-vous que la taille des fichiers est
identique à 0 octet (ils sont vides).
4. Renommer le fichier /home/[login]/tickets/jacques/listingEnCours en listingFini.
5. Déplacer et renommer le fichier /home/[login]/listingEnCours en
/STAGE/commandes/archiveListing.
EXERCICE 3 : Gestion des répertoires
1. Copier le répertoire /home/[login]/tickets/pierre/ et son contenu en le renommant
/home/[login]/tickets/sauvegarde.
2. Renommer le répertoire /home/[login]/tickets/sauvegarde/ en
/home/[login]/tickets/archives.
3. Copier le répertoire /home/[login]/tickets/ dans le répertoire /STAGE/commandes/.
EXERCICE 4 : Suppression de fichiers et répertoires
1. Afficher le contenu des répertoires /home/[login]/tickets/jacques/
et /home/[login]/tickets/pierre/
6/8
2. Supprimer le répertoire /home/[login]/tickets/jacques/ avec la commande rmdir. Que
constatez-vous ?
3. Supprimer le répertoire /home/[login]/pierre/ en une seule commande.
4. Vérifier les suppressions.
EXERCICE 5 : Autre tout d’horizon sur la Gestion des fichiers et répertoires
A. Si le répertoire courant contient : [Link] [Link] [Link] [Link] [Link] readme zzz
alors apporter les corrections aux correspondances des résultats des expressions régulières.
Expressions régulières Résultats
fich1* zzz
fich*.txt [Link] [Link] [Link]
fich[0-9]*.txt [Link] [Link] [Link] [Link]
??? [Link] [Link] [Link]
B. Créer le fichier carnet-adresse avec le contenu suivant :
olivier: 29:0298333242:Brest marcel:13:0466342233:Gardagnes
myriam:30:0434214452:Nimes yvonn[Link]3:Palaiseau
a. Afficher les lignes commençant par les caractères compris entre a et d.
b. Afficher les lignes contenant la chaîne de caractères ‘Brest’.
c. Rechercher les fichiers dont le nom contient la chaîne de caractères ‘toto’ à partir du
répertoire /usr :
d. Rechercher tous les fichiers se terminant par .c dans le répertoire /usr :
e. Rechercher les derniers fichiers modifiés dans les 3 derniers jours dans toute
l’arborescence (/) :
f. Lister les fichiers de votre arborescence dont la taille dépasse 1Mo (2000 blocs de 512 Ko)
:
g. Rechercher dans toute l’arborescence, les fichiers ordinaires vous appartenant, dont la
permission est fixée à 755 :
h. Rechercher les fichiers qui ont pour nom [Link] et les fichiers se terminant par .c :
i. Recherche des fichiers ayant pour nom core et les éffacer par la suite
j. Reprendre la question précédente avec demande de confirmation avant effacement
C. On considère le fichier Fleurs de contenu :
Rose
Jasmin Lilles Orchidées
Marguerites Camomilles
a. Rechercher les lignes qui commencent par une lettre entre L et O.
b. Rechercher les lignes qui commencent par une voyelle.
c. Rechercher les lignes qui commencent par une lettre non voyelle.
d. Rechercher les lignes qui commencent par un caractère quelconque et le second
caractère est le caractère o.
e. Rechercher les lignes qui se terminent par « se ».
f. Rechercher les lignes qui ne commencent pas par M (l’option -v).
g. Rechercher les lignes qui ne commencent pas par M et afficher seulement leur nombre.
D. On suppose que le fichier Agenda utilise le séparateur tabulation entre les champs.
Zitouni Sarra 2090 Ariana 71345098
Skouri Mouna 2080 Tunis 71527860
Chebbi Moez 1060 Mahdia 73903561
Azzouna Ahmed 2100 Nabeul 72209189
a. Triez le fichier Agenda d’après les prénoms (le second champ).
b. Triez le fichier Agenda d’après les codes postaux.
7/8
c. On veut trier le fichier Agenda selon le prénom (2ème champ) et en cas d’égalité on
effectue le tri de la colonne de l’adresse (4ème champ).
d. On veut effectuer le tri du fichier /etc/passwd sur le numéro de l’utilisateur. Le séparateur
utilisé dans /etc/passwd est le deux points « : ».
E. Compter les caractères, les mots, les lignes (wc)
a. Comptez le nombre de fichiers de /bin.
b. Comptez les lignes, mots et caractères de tous les fichiers du répertoire courant dont le
nom commence par b.
F. Conversion de caractères (tr)
a. Ecrivez une commande qui permet de convertir le texte lu à partir du clavier (entrée
standard).
b. Ecrivez une commande qui permet de convertir le texte du fichier /etc/passwd de façon à
changer chaque minuscule en une majuscule.
G. Découpage de fichiers (cut). Soit le fichier Mois suivant :
Mois
Janvier Février Mars
a. Ecrivez une commande qui permet d’afficher le premier caractère du fichier Mois.
b. Ecrivez une commande qui permet d’afficher les 3 premiers caractères du fichier Mois.
H. On considère le fichier adresses qui contient des champs séparés par deux points comme suit
Mahmoudi:Houssem:9000:Gabes
Belguessem:Ghassen:5090:Gafsa Mediouni:Mah[Link]ja
a. Ecrivez une commande qui permet de sélectionner le 3ème champ du fichier adresses.
b. Ecrivez une commande qui permet d’afficher le 2ème et 4ème champ du fichier adresses
I. Extraire le début ou la fin d’un fichier. Soit le fichier Fruits suivant
pomme
poire orange
pamplemousse fraise
banane
a. Afficher les lignes du fichier Fleurs à partir de la deuxième ligne.
b. Afficher les 3 dernières lignes du fichier.
J. Suppression des doublons (uniq). Soit le fichier prénoms suivant :
mohamed
imene Ali Anis olfa
safa ahmad safa hajer
a. Ecrivez une commande qui affiche les lignes du fichiers “prénoms” tout en ignorant les
doublons.
b. Triez le fichier selon l’ordre alphabétique.
c. Triez le fichier et affichez-le en ignorant les doublons.
8/8