0% ont trouvé ce document utile (0 vote)
5 vues10 pages

TP 2

Ce document présente un TP sur les manipulations pratiques en shell et les commandes essentielles en Linux pour les étudiants de la filière MIP à l'Université Sidi Mohamed Ben Abdellah. Les objectifs incluent la maîtrise des shells, la gestion des fichiers et répertoires, ainsi que l'utilisation des redirections et des pipes. Les étudiants doivent également comprendre les chemins absolus et relatifs, et acquérir des compétences pratiques à travers des exercices variés.

Transféré par

Macdo Amine
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues10 pages

TP 2

Ce document présente un TP sur les manipulations pratiques en shell et les commandes essentielles en Linux pour les étudiants de la filière MIP à l'Université Sidi Mohamed Ben Abdellah. Les objectifs incluent la maîtrise des shells, la gestion des fichiers et répertoires, ainsi que l'utilisation des redirections et des pipes. Les étudiants doivent également comprendre les chemins absolus et relatifs, et acquérir des compétences pratiques à travers des exercices variés.

Transféré par

Macdo Amine
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TP2 Systèmes d’exploitation 1 MIP, IA S3

UNIVERSITE SIDI MOHAMED BEN


ABDELLAH
Faculté des Sciences Dhar El Mahraz – Fès
Filière MIP, S3
Année universitaire 2024-2025

TP2 : Manipulations Pratiques en Shell et


Commandes Essentielles en Linux

Objectifs
Ce TP2 vise à développer l’autonomie des étudiants dans l’utilisation du shell Linux en les
guidant à travers des exercices pratiques couvrant une gamme de compétences essentielles. Ce
parcours pédagogique permettra aux étudiants de :

 Comprendre et maîtriser les différents types de shells, tout en se familiarisant avec les
commandes de base du système Linux sur des environnements de type Debian
(Ubuntu) et RedHat (AlmaLinux).
 Apprendre à gérer efficacement les fichiers et répertoires, incluant la navigation, la
création, la copie, le déplacement, la suppression, et la structure de l’arborescence du
système.
 Découvrir les outils d'affichage et de manipulation du contenu des fichiers, notamment
les commandes de découpage, d'assemblage, d'affichage partiel, et de navigation
interactive dans des fichiers longs.
 Maîtriser les techniques de recherche et de filtrage pour localiser des fichiers dans
l'arborescence et rechercher des occurrences spécifiques dans des fichiers.
 Utiliser des redirections et des pipes pour contrôler les flux d’entrée et de sortie des
commandes, permettant des traitements plus complexes et automatisés.
 Exécuter des comparaisons et des comptages de mots ou lignes pour analyser le
contenu des fichiers.

En acquérant ces compétences, les étudiants seront préparés à réaliser des tâches courantes et
avancées de gestion du système Linux, tout en consolidant leur compréhension du shell et de
l'environnement Linux.

Prérequis
Pour tirer pleinement profit de ce TP, les étudiants doivent disposer des compétences et
connaissances suivantes :

 Savoir-faire pratique : Avoir installé et configuré une distribution Linux (comme


Ubuntu ou AlmaLinux) sur leur machine, et être à l'aise avec les étapes de démarrage
et d'arrêt du système.

© H. SATORI, Faculté des Sciences Dhar El Mahraz – Fès Page 1/10


TP2 Systèmes d’exploitation 1 MIP, IA S3

 Notions de base en systèmes d’exploitation : Comprendre les principes


fondamentaux des systèmes d’exploitation, notamment la gestion des processus,
l’organisation des fichiers et l’arborescence des répertoires.
 Compréhension des chemins : Connaître la différence entre les chemins absolus et
relatifs pour naviguer efficacement dans le système de fichiers.

Partie I : Exploration du Shell


1. Afficher les Shells Disponibles sur le Système
o Pratique : Tapez la commande suivante dans le terminal pour afficher tous les
shells disponibles :

$ cat /etc/shells

o Question : Quels sont les différents shells listés sur votre système, et que
pensez-vous de leur utilité respective ?
2. Vérifier le Shell Actif
o Pratique : Utilisez la commande suivante pour voir quel shell est actuellement
utilisé :

$ echo $SHELL

o Question : Quelle commande avez-vous utilisé pour connaître le shell actif, et


pourquoi cette information pourrait-elle être importante ?
3. Changer de Shell de Manière Temporaire
o Pratique : Tapez sh, bash, ou zsh (selon les shells installés) pour passer
temporairement à un autre shell. Utilisez ensuite echo $0 pour confirmer le
changement.
o Question : Quelle différence faites-vous entre un changement temporaire de
shell et la modification du shell par défaut ?
4. Définir un Nouveau Shell par Défaut
o Pratique : Utilisez la commande suivante pour changer le shell par défaut de
l’utilisateur :

$ chsh -s /bin/bash

Confirmez avec echo $SHELL.

o Question : Quels risques pensez-vous qu’il pourrait y avoir à modifier le shell


par défaut, et comment pourriez-vous les éviter ?
5. Voir le Shell Assigné aux Utilisateurs
o Pratique : Utilisez la commande suivante pour afficher le shell par défaut de
chaque utilisateur :

$ cat /etc/passwd | grep "shell"

o Question : À quoi sert le fichier /etc/passwd ? Comment pouvez-vous identifier


le shell par défaut des utilisateurs ?

© H. SATORI, Faculté des Sciences Dhar El Mahraz – Fès Page 2/10


TP2 Systèmes d’exploitation 1 MIP, IA S3

6. Visualiser les Fichiers de Configuration du Shell


o Pratique : Tapez les commandes suivantes pour observer les paramètres
configurés pour votre shell :

$ cat ~/.bashrc
$ cat ~/.profile

o Question : Quels paramètres de configuration spécifiques avez-vous trouvés


dans ces fichiers, et comment pourraient-ils être utiles ?

Partie II : Interaction avec le Shell


1. Ouvrir un Terminal et Tester une Commande
o Pratique : Tapez gedit pour essayer de lancer l'éditeur de texte (ou nano si gedit
n'est pas installé).
o Question : Que se passe-t-il si la commande échoue ? Comment pouvez-vous
identifier la cause du problème ?
2. Utiliser l’Auto-complétion dans le Shell
o Pratique : Essayez ged + TAB ou ge + TAB x2 pour explorer l’auto-complétion.
o Question : Comment l’auto-complétion facilite-t-elle la saisie des commandes,
et quelles autres combinaisons de touches pouvez-vous utiliser pour cette
fonctionnalité ?
3. Changer de Répertoire avec pwd et cd
o Pratique : Exécutez pwd pour voir le répertoire actuel, puis cd /etc/ et pwd pour
observer le changement.
o Question : Quel rôle joue pwd, et comment cd vous permet-il de naviguer dans
l’arborescence des dossiers ?
4. Revenir au Répertoire Personnel
o Pratique : Tapez la commande suivante pour retourner dans votre répertoire
personnel :

$ cd ~

o Question : Pourquoi la commande cd ~ est-elle utile, et dans quelles situations


pensez-vous qu’elle serait la plus pratique ?
5. Exploration des Commandes de Base
o Pratique : Essayez les commandes suivantes :

$ date
$ cal
$ uname -r
$ df -h
$ free -m
$ ps
$ top
$ echo

© H. SATORI, Faculté des Sciences Dhar El Mahraz – Fès Page 3/10


TP2 Systèmes d’exploitation 1 MIP, IA S3

$ logout

oQuestion : Quelle commande trouvez-vous la plus utile parmi celles testées, et


pourquoi ?
6. Naviguer dans l’Historique des Commandes
o Pratique : Utilisez les flèches haut et bas pour naviguer dans les commandes
précédemment saisies.
o Question : Comment l’historique des commandes peut-il être pratique dans un
terminal, et quels autres raccourcis permettent de l’exploiter efficacement ?

Partie III : Gestion des Fichiers et Répertoires


Avant de commencer cette partie, créez un répertoire de travail :

$ mkdir -p /home/utilisateur/Tps_SE/TP2

1. Création d’une Structure de Répertoires en une Seule Commande


o Pratique : Depuis le répertoire /home/utilisateur/Tps_SE/TP2, exécutez la
commande suivante pour créer deux arborescences de répertoires : rep1
contenant rep3, et rep2 contenant rep4.

$ mkdir -p rep1/rep3 rep2/rep4

o Question : Comment la commande mkdir -p vous permet-elle de créer plusieurs


répertoires en une seule exécution, et pourquoi est-elle efficace dans ce
contexte ?
2. Explication des Chemins Absolus et Relatifs
o Pratique : Depuis le répertoire TP2, exécutez les commandes suivantes pour
accéder à rep1 avec un chemin absolu, puis à rep2 en utilisant un chemin relatif :

$ cd /home/utilisateur/Tps_SE/TP2/rep1
$ cd ../rep2

o Question : Quelle est la différence entre un chemin absolu et un chemin relatif,


et dans quels cas chaque type de chemin est-il plus utile ?
3. Déplacement dans un Répertoire avec un Chemin Absolu et Création d’un
Fichier
o Pratique : Déplacez-vous dans rep1 en utilisant le chemin absolu, puis créez un
fichier nommé fich1.

$ cd /home/utilisateur/Tps_SE/TP2/rep1
$ touch fich1

© H. SATORI, Faculté des Sciences Dhar El Mahraz – Fès Page 4/10


TP2 Systèmes d’exploitation 1 MIP, IA S3

o Question : Pourquoi est-il parfois préférable d’utiliser un chemin absolu pour


naviguer vers un répertoire ? Comment la commande touch facilite-t-elle la
création rapide de fichiers ?
4. Copie d’un Fichier vers un Autre Répertoire avec un Chemin Relatif
o Pratique : Depuis rep1, copiez fich1 vers le répertoire rep3 en utilisant un
chemin relatif.

$ cp fich1 ../rep3/

o Question : En quoi l’utilisation d’un chemin relatif est-elle pratique pour cette
copie de fichier, et quelles options supplémentaires pouvez-vous utiliser avec
cp pour gérer la copie de fichiers ?
5. Déplacement dans un Répertoire avec un Chemin Relatif et Copie d’un Fichier
en Renommant
o Pratique : Depuis rep1, déplacez-vous dans rep2, copiez fich1 de rep3 vers rep2
en le renommant en fich2.

$ cd ../rep2
$ cp ../rep3/fich1 fich2

oQuestion : Comment la commande cp vous permet-elle de renommer un


fichier lors de la copie, et dans quelles situations cette fonction est-elle utile ?
6. Renommage et Déplacement d’un Fichier dans un Nouveau Répertoire
o Pratique : Déplacez fich2 dans rep3 en le renommant fich3.

$ mv fich2 ../rep3/fich3

o Question : Quelle est l’utilité de la commande mv pour renommer et déplacer


un fichier en une seule commande ?
7. Suppression d’un Fichier
o Pratique : Supprimez fich1 du répertoire rep3.

$ rm ../rep3/fich1

o Question : Pourquoi est-il important de vérifier le chemin avant d’utiliser rm,


et quelles options peuvent être utilisées pour sécuriser cette commande ?

Partie IV : Comparaison et Comptage


1. Comparaison de Fichiers
o Pratique :
 Créez deux fichiers de texte simples dans le répertoire
/home/utilisateur/Tps_SE/TP2/ avec le contenu suivant :

$ echo "Bonjour, ceci est le fichier 1." > [Link]


$ echo "Bonjour, ceci est le fichier 2. Il est légèrement différent." >
[Link]

© H. SATORI, Faculté des Sciences Dhar El Mahraz – Fès Page 5/10


TP2 Systèmes d’exploitation 1 MIP, IA S3

 Utilisez la commande suivante pour comparer les fichiers et voir s’il y


a des différences en termes de contenu :

cmp [Link] [Link]

Observez le résultat de cmp : il vous indiquera à quelle position les


différences commencent dans les deux fichiers.

 Pour une comparaison plus détaillée, utilisez la commande suivante


pour afficher ligne par ligne les différences entre [Link] et [Link]
:

$ diff [Link] [Link]

oQuestion : Quelle commande préférez-vous pour identifier les différences et


pourquoi ? En quoi les informations fournies par diff sont-elles plus complètes
que celles de cmp ?
2. Comptage de Mots et de Lignes
o Pratique :
 Créez un fichier texte nommé [Link] dans le répertoire
/home/utilisateur/Tps_SE/TP2/ avec le contenu suivant :

$ echo -e "Ligne un\nLigne deux\nLigne trois avec des mots


supplémentaires." > [Link]

 Utilisez la commande suivante pour compter le nombre de lignes dans


[Link] :

$ wc -l [Link]

Cette commande affichera le nombre de lignes dans le fichier.

 Utilisez ensuite la commande suivante pour compter le nombre de mots


dans [Link] :

$ wc -w [Link]

Cette commande affichera le nombre de mots dans le fichier.

o Question : Comment les options -l et -w de la commande wc vous aident-elles à


extraire des informations spécifiques ? Dans quels contextes ces options
pourraient-elles être utiles ?

Partie V : Affichage et Manipulation de Contenu


1. Afficher le Contenu d’un Fichier
o Commande : cat [Link]
o Pratique :

© H. SATORI, Faculté des Sciences Dhar El Mahraz – Fès Page 6/10


TP2 Systèmes d’exploitation 1 MIP, IA S3

 Créez un fichier texte nommé [Link] avec le contenu suivant :

echo -e "Ligne 1 : Introduction\nLigne 2 : Contenu principal\nLigne 3 :


Conclusion" > [Link]

 Utilisez la commande suivante pour afficher le contenu du fichier :

$ cat [Link]

o Question : Comment cat peut-il être utile pour afficher le contenu d’un fichier
? Dans quelles situations pourrait-il être insuffisant ?
2. Découpage et Assemblage de Contenu
o Commandes : cut -d':' -f1 /etc/passwd, paste fichier1 fichier2
o Pratique :
 Utilisez la commande suivante pour découper et afficher uniquement le
premier champ (nom d'utilisateur) du fichier /etc/passwd :

$ cut -d':' -f1 /etc/passwd

 Créez deux fichiers [Link] et [Link] :

$ echo -e "Nom\nPrénom\nAge" > [Link]


$ echo -e "Durand\nAlice\n25" > [Link]

 Utilisez ensuite la commande paste pour assembler les contenus de


[Link] et [Link] ligne par ligne :

paste [Link] [Link]

o Question : Comment la commande cut permet-elle d’extraire des informations


spécifiques d’un fichier ? Dans quelles situations l’assemblage de fichiers avec
paste peut-il être utile ?
3. Affichage en Partie
o Commandes : head -n 10 [Link], tail -n 10 [Link]
o Pratique :
 Utilisez la commande head pour afficher les 10 premières lignes de
[Link] :

$ head -n 10 [Link]

 Utilisez la commande tail pour afficher les 10 dernières lignes de


[Link] :

$ tail -n 10 [Link]

o Question : Pourquoi l’affichage partiel du contenu d’un fichier avec head ou tail
est-il utile ? Dans quel contexte pouvez-vous utiliser ces commandes pour
examiner rapidement un fichier ?
4. Utiliser more et less pour la Lecture Interactive
o Commandes : more [Link], less [Link]

© H. SATORI, Faculté des Sciences Dhar El Mahraz – Fès Page 7/10


TP2 Systèmes d’exploitation 1 MIP, IA S3

o Pratique :
 Utilisez la commande more pour parcourir le fichier [Link] de manière
interactive :

$ more [Link]

 Utilisez la commande less pour lire le fichier [Link] en permettant un


défilement plus flexible :

$ less [Link]

o Question : En quoi les commandes more et less facilitent-elles la lecture des


fichiers longs ? Quelle est la différence pratique entre les deux ?
o

Partie VI : Recherche et Filtrage


1. Recherche de Fichiers
o Commande : find / -name "*.txt"
o Pratique :
 Utilisez la commande suivante pour rechercher tous les fichiers avec
l’extension .txt dans l’arborescence du système :

$ find / -name "*.txt"

 Vous pouvez également restreindre la recherche à un répertoire


spécifique (par exemple, /home/utilisateur) pour limiter les résultats :

$ find /home/utilisateur -name "*.txt"

o Question : Comment la commande find est-elle utile pour localiser des fichiers
spécifiques ? Dans quelles situations cette commande peut-elle être
particulièrement efficace ?
2. Filtrer du Contenu avec grep
o Commande : grep "mot" [Link]
o Pratique :
 Créez un fichier texte nommé [Link] avec le contenu suivant :

$ echo -e "Ceci est une ligne de test.\nCette ligne contient le mot


clé.\nEncore une autre ligne sans le mot clé." > [Link]

 Utilisez la commande grep pour rechercher le mot "mot" dans le fichier


[Link] :

$ grep "mot" [Link]

Cette commande affichera les lignes contenant le mot "mot".

© H. SATORI, Faculté des Sciences Dhar El Mahraz – Fès Page 8/10


TP2 Systèmes d’exploitation 1 MIP, IA S3

o Question : Comment grep vous permet-il de filtrer des informations spécifiques


dans un fichier ? Dans quels contextes cette commande peut-elle être utile pour
analyser rapidement des fichiers volumineux ?

Partie VII : Redirection et Pipes


Dans cette partie, vous allez apprendre à contrôler le flux des entrées et des sorties des
commandes en utilisant la redirection et les pipes. Ces concepts sont fondamentaux en shell
Linux, car ils permettent de gérer efficacement l'affichage des résultats et de connecter
plusieurs commandes pour automatiser des tâches.

1. Redirection des Entrées et Sorties

La redirection est un moyen de rediriger les sorties des commandes vers des fichiers ou
d'utiliser un fichier comme entrée pour une commande, au lieu de taper des données
manuellement.

 Commandes :
o command > [Link] : Redirige la sortie d'une commande vers un fichier,
écrasant son contenu existant.
o command >> [Link] : Redirige la sortie d'une commande vers un fichier,
ajoutant le résultat à la fin sans écraser le contenu existant.
o command < [Link] : Utilise un fichier en tant qu’entrée pour une
commande.
 Pratique :
o Créez un fichier d’exemple [Link] :

$ echo -e "Ligne 1\nLigne 2\nLigne 3" > [Link]

o Utilisez une commande simple pour rediriger une sortie vers un fichier :

$ ls > liste_fichiers.txt

Vérifiez ensuite le contenu de liste_fichiers.txt avec cat liste_fichiers.txt. Cette


redirection écrase tout contenu précédent de liste_fichiers.txt.

o Essayez maintenant la redirection avec ajout en utilisant >> :

$ echo "Fichier supplémentaire" >> liste_fichiers.txt

Observez que cette commande ajoute la ligne au fichier sans en supprimer le


contenu.

o Utilisez command < [Link] pour utiliser un fichier comme entrée, par exemple
pour compter le nombre de mots dans [Link] :

$ wc -w < [Link]

© H. SATORI, Faculté des Sciences Dhar El Mahraz – Fès Page 9/10


TP2 Systèmes d’exploitation 1 MIP, IA S3

 Question : En quoi la redirection peut-elle être utile pour enregistrer les résultats des
commandes ? Dans quels contextes est-il préférable d’utiliser > par rapport à >> ?

2. Utiliser des Pipes pour Enchaîner des Commandes

Les pipes permettent de transmettre la sortie d'une commande directement en entrée d'une
autre, créant ainsi une chaîne de traitement. Cela permet d'exécuter des opérations complexes
en combinant des commandes simples.

 Commandes :
o ls | grep ".txt" : Utilise grep pour filtrer uniquement les fichiers .txt dans la
sortie de ls.
o cat [Link] | wc -l : Compte le nombre de lignes dans un fichier en passant
la sortie de cat comme entrée de wc -l.
 Pratique :
o Listez les fichiers dans le répertoire courant et utilisez un pipe pour afficher
uniquement ceux qui ont l’extension .txt :

$ ls | grep ".txt"

Ici, ls génère la liste des fichiers, et grep filtre uniquement ceux contenant ".txt".

o Utilisez un autre pipe pour compter le nombre de lignes dans un fichier :

$ cat [Link] | wc -l

Cette commande affiche le nombre de lignes dans [Link] en envoyant le


contenu du fichier (via cat) à la commande wc -l.

o Essayez d’enchaîner plusieurs pipes pour un traitement plus complexe. Par


exemple, recherchez toutes les lignes contenant "Ligne" dans [Link] et
comptez-les :

$ cat [Link] | grep "Ligne" | wc -l

Ici, grep filtre les lignes contenant "Ligne", puis wc -l compte uniquement ces
lignes filtrées.

 Question : Comment les pipes permettent-ils de combiner des commandes de manière


efficace ? Dans quels scénarios complexes pourrait-on utiliser cette technique pour
traiter des données ?

© H. SATORI, Faculté des Sciences Dhar El Mahraz – Fès Page 10/10

Vous aimerez peut-être aussi