TP1 – LINUX (principes et commandes fondamentales)¶
Ce TP se déroule sur les machines de l'école et a pour objectif principal de vous familiariser avec l'environnement Linux. Vous aurez l'occasion de travailler avec les commandes de base, d'explorer l'arborescence du système et de vous familiariser avec les fonctionnalités fondamentales de Linux.
Pendant ce TP, vous serez invité(e) à rédiger un rapport détaillé au format PDF. Pour chaque question ou exercice, veuillez inclure une capture d'écran du résultat obtenu. En outre, rédigez un texte explicatif qui peut inclure l'interprétation des résultats, l'explication des commandes utilisées et de leurs paramètres, ainsi que des indications sur la manière de lancer ces commandes.
Il est crucial de prendre le temps de bien rédiger votre rapport au format PDF, en fournissant des explications claires et précises. N'hésitez pas à poser des questions tout au long du TP et à explorer activement les fonctionnalités du système Linux pour maximiser votre compréhension et votre expérience pratique.
Vous pouvez vous référer au guide de rédaction des rapport disponible sur ce site et sur le site interne de la filière.
Exercice 1¶
- Où êtes-vous? (
pwd) - Essayer
help pwdensuiteman pwdpour obtenir des informations détaillées sur la commandepwd. - Que contient votre répertoire courant (votre home)? Quels sont vos droits sur ces
fichiers ? (
ls -l) - Essayer la commande
ls -a - Essayer
help lsensuiteman lspour obtenir des informations détaillées sur la commandels. - Remontez au père de votre home (commande
cd ..), ensuite au père du père en regardant à chaque fois leur contenu. Baladez-vous dans l'arborescence. - Remontez à la racine (/) directement (
cd /). - Que contiennent les répertoires bin, etc, ... ? (
ls bin,ls etc, ... ). - Revenez directement dans votre home
- Remontez à la racine / et revenez à votre home avec le chemin d'accès complet
absolu (
cd [chemin_absolu]). - Allez dans le répertoire
/binen précisant son chemin relatif, puis revenez dans home
Exercice 2¶
- Créez un repertoire TP1 avec
mkdir - Déplacez-vous dans le repertoire TP1 avec
cd - Créez un fichier
texte.txtavectouch - Utilisez l'éditeur de texte
geditpour écrire dans le fichiertexte.txt - Essayer
gedit text.txtetgedit texte.txt &- Expliquer le role de &
- Entrez le texte "Bonjour le monde" et sauvegarder le fichier, puis fermer l'éditeur de texte
- Afficher le contenu du fichier
texte.txtaveccat - Tester et expliquer les commandes suivante (utiliser
manethelp) :tactailhead
- Créer un nouveau fichier
exercice2.txtet Ajoutez y 20 lignes de nombres. Par exemple, vous pouvez ajouter les nombres de 1 à 20.- Afficher les 10 dernières lignes du fichier exercice2.txt.
- Afficher les 10 premières lignes du fichier exercice2.txt.
- Afficher le contenu du fichier exercice2.txt à l'envers (de la dernière ligne à la première).
Exercice 3¶
Dans cet exercice nous allons découvrir les commandes echo, date, cal et which. Utiliser les
commandes help et man pour obtenir des informations détaillées.
- Où êtes-vous d’ailleurs ?
- Créez un répertoire
TP1EX3. - Que contient maintenant votre répertoire courant ?
- Descendez dans le répertoire
TP1EX3(tester le chemin absolu et le chemin relatif). - Où êtes-vous maintenant ?
- Au fait, quel est votre répertoire personnel ? (commande
echo $HOME)
Notes
HOME : est une variable d'environnement utilisée dans les systèmes d'exploitation de type Unix (tels que Linux) pour représenter le répertoire personnel de l'utilisateur courant. Elle pointe vers le répertoire principal de l'utilisateur lorsqu'il se connecte au système.
- Testez les commandes suivantes :
echo bonjoura=10echo aecho $ab=pwdecho becho $b$bInterpréter les résultats obtenus pour chaque commande
- Testez la commande vide : réaction d'UNIX à une mauvaise commande.
- Testez les commandes
dateetcal.- Quel sera le jour de la semaine du 1er janvier de l'année prochaine?
- Quel jour êtes-vous né(e) ?
- Où se trouve l'exécutable de la commande
cal? (commandewhich).
- Retournez dans votre répertoire personnel (commande
cd, oucd $HOMEoucd ~) - Détruisez le répertoire TP1EX3 (commande
rmdiravec peut être des options...)
Exercice 4¶
- Revenez dans votre répertoire personnel.
- Avec un éditeur de texte, créez un fichier appelé
TP1EX4dans lequel vous tapez un petit texte de votre choix. - Quels sont vos droits sur ce fichier ? Les droits du groupe ? Les droits des autres ?
(option
-lde la commandels) - Ajoutez aux autres (other) les droits en écriture sur le fichier (utiliser la commande
chmod) - Avec un éditeur de texte, créez un fichier appelé
scriptTP1EX4.shdans lequel vous tapez le texte suivant :
- Pour executer le script, essayer
./scriptTP1EX4.sh - Essayez
source ./scriptTP1EX4.sh - Comment faire fonctionner la première commande ? quelle différence entre les deux ?
- Afficher les droits et interpréter le résultat obtenu
- Ajouter le droit de l’exécution à l’utilisateur et groupe et enlever les droits d’écriture, lecture
- Après exécution, donnez la description et l'effet des commandes suivantes : (aidez-vous de
lacommande
lspour suivre les effets)
$> touch texte
$> mkdir TP1 TP2
$> cp texte TP1/texte1
$> cd TP1
$> ls -l
$> cp texte1 texte2
$> cp texte1 ../TP2/texte1
$> cp ../texte ../TP2/texte2
$> cp ../texte .
$> mv ../texte ../TP2
$> mv texte texte3
$> mv ../TP2/texte ../TP2/texte3
$> cd ..
$> ls TP1 TP2
$> rmdir TP2
$> rm -r TP2/
Exercice 5¶
- Déplacez-vous dans le répertoire racine ;
- Listez les fichiers et répertoires présents à la racine ;
- Déplacez-vous dans le répertoire /etc/ ;
- Retournez dans votre répertoire personnel ;
- Créez l’arborescence suivante :
graph TD
A[rep1]:::dir
A --> B[fich11]:::file
A --> C[fich12]:::file
A --> D[rep2]:::dir
A --> E[rep3]:::dir
D --> F[fich21]:::file
D --> G[fich22]:::file
E --> H[fich31]:::file
E --> I[fich32]:::file
classDef dir fill:#4a90e2,stroke:#2c3e50,stroke-width:1px,color:#fff,font-weight:bold;
classDef file fill:#e1e1e1,stroke:#555,stroke-width:1px,color:#000;
- Déplacez toute l’arborescence rep3 dans rep2 pour obtenir le graphe suivant :
graph TD
A[rep1]:::dir
A --> B[fich11]:::file
A --> C[fich12]:::file
A --> D[rep2]:::dir
D --> E[rep3]:::dir
D --> F[fich21]:::file
D --> G[fich22]:::file
E --> H[fich31]:::file
E --> I[fich32]:::file
classDef dir fill:#4a90e2,stroke:#2c3e50,stroke-width:1px,color:#fff,font-weight:bold;
classDef file fill:#e1e1e1,stroke:#555,stroke-width:1px,color:#000;
Exercie 6¶
Notes
La commande grep est une commande très utile dans les systèmes d'exploitation de type Unix (comme Linux) et elle est utilisée pour rechercher des motifs (mots) dans des fichiers.
grep [options] motif fichier
- motif : Le motif que vous souhaitez rechercher dans le fichier.
- fichier : Le fichier dans lequel vous souhaitez effectuer la recherche.
- Créez trois fichiers nommés
fichier1.txt,fichier2.txt, etfichier3.txt. avectouchen une seule commande - Remplissez chaque fichier avec quelques lignes de texte. Utilisez des mots spécifiques
dans chaque fichier pour les reconnaitre :
echo "Contenu du fichier 1" > fichier1.txtecho "Texte pour le fichier 2" > fichier2.txtecho "Lignes de test dans le fichier 3" > fichier3.txt
- Utilisez la commande
greppour rechercher des mots spécifiques dans les fichiers. Par exemple, recherchez le mot "test" dans tous les fichiers. - Modifiez un fichier pour inclure un nouveau mot. Réexécutez la commande
greppour vérifier que le mot est maintenant trouvé. - Utilisez la commande grep avec l'option
-rpour rechercher récursivement dans un répertoire. - Créez un répertoire et déplacez-y les fichiers créés précédemment. Ensuite, utilisez
grep -rpour rechercher un mot dans tous les fichiers du répertoire.