Skip to content

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

  1. Où êtes-vous? (pwd)
  2. Essayer help pwd ensuite man pwd pour obtenir des informations détaillées sur la commande pwd.
  3. Que contient votre répertoire courant (votre home)? Quels sont vos droits sur ces fichiers ? (ls -l)
  4. Essayer la commande ls -a
  5. Essayer help ls ensuite man ls pour obtenir des informations détaillées sur la commande ls.
  6. 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.
  7. Remontez à la racine (/) directement (cd /).
  8. Que contiennent les répertoires bin, etc, ... ? (ls bin, ls etc, ... ).
  9. Revenez directement dans votre home
  10. Remontez à la racine / et revenez à votre home avec le chemin d'accès complet absolu (cd [chemin_absolu]).
  11. Allez dans le répertoire /bin en précisant son chemin relatif, puis revenez dans home

Exercice 2

  1. Créez un repertoire TP1 avec mkdir
  2. Déplacez-vous dans le repertoire TP1 avec cd
  3. Créez un fichier texte.txt avec touch
  4. Utilisez l'éditeur de texte gedit pour écrire dans le fichier texte.txt
  5. Essayer gedit text.txt et gedit texte.txt &
    • Expliquer le role de &
  6. Entrez le texte "Bonjour le monde" et sauvegarder le fichier, puis fermer l'éditeur de texte
  7. Afficher le contenu du fichier texte.txt avec cat
  8. Tester et expliquer les commandes suivante (utiliser man et help) :
    • tac
    • tail
    • head
  9. Créer un nouveau fichier exercice2.txt et 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.

  1. Où êtes-vous d’ailleurs ?
  2. Créez un répertoire TP1EX3.
  3. Que contient maintenant votre répertoire courant ?
  4. Descendez dans le répertoire TP1EX3 (tester le chemin absolu et le chemin relatif).
  5. Où êtes-vous maintenant ?
  6. 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.

  1. Testez les commandes suivantes :
    1. echo bonjour
    2. a=10
    3. echo a
    4. echo $a
    5. b=pwd
    6. echo b
    7. echo $b
    8. $b Interpréter les résultats obtenus pour chaque commande
  2. Testez la commande vide : réaction d'UNIX à une mauvaise commande.
  3. Testez les commandes date et cal.
    1. Quel sera le jour de la semaine du 1er janvier de l'année prochaine?
    2. Quel jour êtes-vous né(e) ?
    3. Où se trouve l'exécutable de la commande cal ? (commande which).
  4. Retournez dans votre répertoire personnel (commande cd, ou cd $HOME ou cd ~)
  5. Détruisez le répertoire TP1EX3 (commande rmdir avec peut être des options...)

Exercice 4

  1. Revenez dans votre répertoire personnel.
  2. Avec un éditeur de texte, créez un fichier appelé TP1EX4 dans lequel vous tapez un petit texte de votre choix.
  3. Quels sont vos droits sur ce fichier ? Les droits du groupe ? Les droits des autres ? (option -l de la commande ls)
  4. Ajoutez aux autres (other) les droits en écriture sur le fichier (utiliser la commande chmod)
  5. Avec un éditeur de texte, créez un fichier appelé scriptTP1EX4.sh dans lequel vous tapez le texte suivant :
#!/bin/bash
echo "Bonjour"
  1. Pour executer le script, essayer ./scriptTP1EX4.sh
  2. Essayez source ./scriptTP1EX4.sh
  3. 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
  4. Après exécution, donnez la description et l'effet des commandes suivantes : (aidez-vous de lacommande ls pour 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

  1. Déplacez-vous dans le répertoire racine ;
  2. Listez les fichiers et répertoires présents à la racine ;
  3. Déplacez-vous dans le répertoire /etc/ ;
  4. Retournez dans votre répertoire personnel ;
  5. 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;
  1. Déplacez toute l’arborescence rep3 dans rep2.

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.
  1. Créez trois fichiers nommés fichier1.txt, fichier2.txt, et fichier3.txt. avec touch en une seule commande
  2. 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.txt
    • echo "Texte pour le fichier 2" > fichier2.txt
    • echo "Lignes de test dans le fichier 3" > fichier3.txt
  3. Utilisez la commande grep pour rechercher des mots spécifiques dans les fichiers. Par exemple, recherchez le mot "test" dans tous les fichiers.
  4. Modifiez un fichier pour inclure un nouveau mot. Réexécutez la commande grep pour vérifier que le mot est maintenant trouvé.
  5. Utilisez la commande grep avec l'option -r pour rechercher récursivement dans un répertoire.
  6. Créez un répertoire et déplacez-y les fichiers créés précédemment. Ensuite, utilisez grep -r pour rechercher un mot dans tous les fichiers du répertoire.