Skip to content

TP0 : Révisions ligne de commande Linux

Objectif du TP

  • Réviser les bases de la ligne de commande (navigation, fichiers, variables d’environnement, scripts).
  • Être à l’aise avec les commandes indispensables avant d’aborder Docker.

Rendu attendu

  • Liste des commandes utilisées pour chaque exercice.
  • Quelques sorties de commandes (captures ou extraits).

Questions d'ouverture

  • Plutôt nano ou vi pour éditer rapidement un fichier en terminal ?

Focus : Commandes shell de base

  • Naviguer (pwd, cd, ls), manipuler des fichiers (touch, cp, mv, rm), éditer rapidement (nano/vi).
  • Variables d’environnement et scripts: bases à connaître pour l’automatisation.

Mise en pratique

Environnement de travail

  • Si vous êtes sur Linux/macOS (ou Windows + WSL), vous pouvez utiliser votre terminal.
  • Option (pour un environnement homogène si Docker est déjà installé):
    docker run -it --name sandbox --rm ubuntu bash
    
  • Lance un conteneur Ubuntu interactif (-it), supprimé à l’arrêt (--rm).

1. Informations système et repères

  1. Tapez :
    uname -a
    
  2. À quoi correspond chaque mot affiché ? Que signifie l’option -a ?

  3. Notions de base :

  4. root directory (/)
  5. home directory (~)
  6. parent directory (..)
  7. working directory (.)
  8. Questions : définissez chaque terme, dites qui y accède, à quoi ça sert, lesquels sont relatifs/absolus.

  9. Commandes utiles :

  10. pwd, cd, ls, mkdir, sudo
  11. Exercice : allez dans /var, créez un dossier learning, puis entrez dedans. Notez les commandes.

2. Écrire et manipuler des fichiers

Commandes : nano/vi, touch, mv, cp, rm.

Exercice : - Créez un fichier COURT-1 (sans extension) via touch ou nano. - Écrivez un petit texte dedans, sauvegardez, renommez en COURS-1. - Revenez rapidement au dossier de départ (commande ≤ 4 caractères). - Copiez /var/learning dans ~/cours. - Supprimez le dossier learning de /var sans changer de dossier.


3. Navigation et chemins relatifs

  1. Recréez l’architecture :
    └── a
        ├── a
        ├── b
        │   ├── 1
        │   └── 2
        └── c
    
  2. Astuce: mkdir -p a/b/1 etc.

  3. Chemin relatif : vous êtes dans /a/b/2. Que donne :

    cd ../../a/../b/../b/1
    


4. Variables d’environnement

  1. Qu’est-ce qu’une variable d’environnement ?
  2. Tapez :
    printenv
    
  3. Qu’observez-vous ?
  4. Tapez :
    export EDITOR=nano
    
  5. Puis printenv à nouveau. Qu’est-ce qui change ?
  6. À quoi sert export ? Et unset ?

5. Premier script bash

  1. Rappel : un script bash débute par #!/bin/bash, extension .sh conseillée.
  2. Exercice :
  3. Créez un dossier exercices, puis exercice1.sh avec :
    echo Bonjour
    
  4. Exécutez :
    ./exercice1.sh
    
  5. Pourquoi ça peut ne pas fonctionner directement ?
  6. Modifiez les permissions :
    chmod 777 exercice1.sh
    
  7. À quoi sert chmod ? Que signifient les chiffres ?

Attention - Évitez chmod 777 par défaut. Donnez le minimum de droits nécessaire. 755 (ou 750) est généralement suffisant.


6. Plusieurs commandes en une ligne

  • Écrivez un script exercice2.sh qui affiche 5 mots (ex. "J'aime", "les", "cours", "d'administration", "système"), chacun sur une ligne séparée (faire des sauts de lignes).
  • Essayez de le faire en une ligne de script.

Indice : Vous pouvez utiliser plusieurs commandes echo ou un seul echo.

7. Tests sur des fichiers

  • Écrivez un script exercice3.sh qui demande à l’utilisateur le nom d’un fichier ou d’un dossier.
  • Le script doit indiquer s’il s’agit d’un fichier ou d’un répertoire.
  • Ensuite, il doit exécuter ls -l dessus pour lister son contenu en mode détaillé.

Indice :

[[ -f /etc/passwd ]] && echo "This file exists!"
- -f teste si c’est un fichier.
- -d teste si c’est un dossier.


Conclusion

  • Révision des commandes essentielles du shell et des scripts simples.
  • Prêt pour aborder Docker avec de bons réflexes en terminal.