TP : Commandes Linux - Refuge de Renards

🦊 TP : Commandes Linux - Refuge de Renards

Apprentissage pratique des commandes de base du terminal Linux

🎯 Contexte de la mission

Vous travaillez pour un refuge de renards qui souhaite organiser et sauvegarder toutes les données concernant les différentes espèces de renards du genre Vulpes. Votre mission est d'apprendre à utiliser les commandes de base du terminal Linux pour créer une structure de fichiers organisée.
🖥️ Votre environnement de travail
Votre carte OrangePi affiche un nom d'espèce de renard stylisé de la forme :

               ""#                                              ""#                        
 m   m  m   m    #    mmmm    mmm    mmm          m   m  m   m    #    mmmm    mmm    mmm  
 "m m"  #   #    #    #" "#  #"  #  #   "         "m m"  #   #    #    #" "#  #"  #  #   " 
  #m#   #   #    #    #   #  #""""   """m          #m#   #   #    #    #   #  #""""   """m 
   #    "mm"#    "mm  ##m#"  "#mm"  "mmm"           #    "mm"#    "mm  ##m#"  "#mm"  "mmm" 
                      #                                                #                   
                      "                                                "                   
📝 Important : Cette espèce est celle sur laquelle vous allez travailler. Si votre espèce n'est pas renseignée, choisissez celle que vous voulez dans les annexes.

🧭 Partie 1 : Navigation de base

1.1 Découverte de votre position

🎯 Objectif
Apprendre à se repérer dans l'arborescence du système de fichiers Linux et à lister le contenu des répertoires.
📍 pwd - Print Working Directory
Affiche le répertoire courant (où vous vous trouvez)
💻 Commande
# Afficher votre répertoire courant
pwd
📂 ls - List
Liste le contenu du répertoire courant
💻 Commandes
# Lister le contenu du répertoire courant
ls

# Afficher le contenu détaillé
ls -l

# Afficher tous les fichiers (y compris cachés)
ls -la

1.2 Navigation dans l'arborescence

🎯 Objectif
Apprendre à se déplacer dans l'arborescence du système de fichiers avec la commande cd.
🏠 cd - Change Directory
Permet de changer de répertoire
💻 Navigation de base
# Aller dans le répertoire racine
cd /

# Vérifier votre position
pwd

# Lister le contenu
ls
🏡 Retour au répertoire personnel
Différentes façons de revenir à votre dossier utilisateur
💻 Retour home
# Retourner dans votre répertoire personnel
cd ~
# ou
cd

# Vérifier votre position
pwd

🏗️ Partie 2 : Création de la structure du refuge

2.1 Création du répertoire principal

🎯 Objectif
Créer le répertoire principal qui contiendra toute l'organisation du refuge de renards.
📁 mkdir - Make Directory
Créer un nouveau répertoire
💻 Création et navigation
# Créer le répertoire principal du refuge
mkdir refuge_renards

# Entrer dans ce répertoire
cd refuge_renards

# Vérifier votre position
pwd

2.2 Création de la structure des espèces

🎯 Objectif
Créer la structure suivante pour organiser les données du refuge :
🗂️ Structure organisationnelle
Créer les répertoires principaux du refuge
💻 Création des dossiers
# Créer les répertoires principaux
mkdir nom_de_l_espece
mkdir sauvegardes
mkdir documentation

# Vérifier la création
ls -l

2.3 Organisation des espèces

🎯 Objectif
Naviguer dans le répertoire de votre espèce pour commencer l'organisation des données.
🦊 Navigation vers l'espèce
Entrer dans le répertoire de votre espèce
💻 Navigation
# Entrer dans le répertoire especes
cd nom_de_l_espece

# Vérifier la création
ls

📄 Partie 3 : Création de fichiers de données

3.1 Fichiers d'information pour chaque espèce

🎯 Objectif
Créer les fichiers de données nécessaires pour documenter chaque espèce de renard.
📝 touch - Créer des fichiers
Créer les fichiers de données pour votre espèce
💻 Création des fichiers
# Exemple pour le renard roux
cd renard_roux

# Créer les fichiers de données
touch informations_generales.txt
touch habitat.txt
touch alimentation.txt
touch reproduction.txt
touch statut_conservation.txt

# Vérifier la création
ls -l

3.2 Ajout de contenu avec vim

🎯 Objectif
Apprendre à utiliser l'éditeur de texte vim pour ajouter du contenu aux fichiers.
✏️ vim - Éditeur de texte
Ouvrir et éditer un fichier avec vim
💻 Ouverture du fichier
# Ouvrir le fichier informations_generales.txt
vim informations_generales.txt
⚠️ IMPORTANT - Comment sortir de vim
  1. Appuyer sur Esc pour vous assurer d'être en mode commande
  2. Taper :q pour quitter sans sauvegarder
  3. Taper :wq pour sauvegarder et quitter
  4. Taper :q! pour forcer la sortie sans sauvegarder

3.3 Vérification du contenu avec cat

🎯 Objectif
Apprendre à afficher le contenu des fichiers avec la commande cat.
👁️ cat - Afficher le contenu
Différentes façons d'afficher le contenu des fichiers
💻 Affichage des fichiers
# Afficher le contenu du fichier informations_generales.txt
cat informations_generales.txt

# Afficher le contenu de tous les fichiers d'un coup
cat *.txt

# Afficher le contenu avec les numéros de ligne
cat -n informations_generales.txt

🔍 Partie 4 : Exploration avancée avec ls

4.1 Options utiles de ls

🎯 Objectif
Découvrir les options avancées de la commande ls pour explorer efficacement l'arborescence.
📊 ls -lh - Listage lisible
Affichage détaillé avec tailles lisibles
💻 Navigation et listage
# Retourner dans le répertoire principal du refuge
cd ~/refuge_renards

# Listage détaillé
ls -lh
🌳 ls -R - Listage récursif
Afficher tout le contenu de l'arborescence
💻 Exploration récursive
# Listage récursif (attention, peut être long !)
ls -R especes/
📅 Tri par date et taille
Options de tri avancées
💻 Tris spécialisés
# Listage trié par date de modification
ls -lt

# Listage trié par taille
ls -lS

🔗 Partie 5 : Liens symboliques et relatifs

5.1 Création de liens symboliques

🎯 Objectif
Apprendre à créer des raccourcis (liens symboliques) vers des répertoires fréquemment utilisés.
🔗 ln -s - Lien symbolique
Créer un raccourci vers un répertoire
💻 Création et test du lien
# Créer un lien symbolique vers le répertoire des espèces
ln -s especes/ acces_rapide_especes

# Vérifier la création
ls -l

# Tester le lien
cd acces_rapide_especes
pwd
ls

5.2 Chemins relatifs vs absolus

🎯 Objectif
Comprendre la différence entre chemins relatifs et absolus pour naviguer efficacement.
🧭 Navigation relative
Utiliser des chemins relatifs pour se déplacer
💻 Chemins relatifs
# Retourner au répertoire principal
cd ~/refuge_renards

# Chemin relatif
cd especes/renard_roux
pwd

# Retour avec chemin relatif
cd ../../
pwd

🔐 Partie 6 : Gestion des permissions avec chmod

6.1 Comprendre les permissions

🎯 Objectif
Maîtriser la gestion des permissions de fichiers et répertoires sous Linux.
👁️ Affichage des permissions
Visualiser les permissions détaillées
💻 Commandes
# Afficher les permissions détaillées
cd ~/refuge_renards/especes/renard_roux
ls -l
📋 Lecture des permissions rwxrwxrwx :
  • 1er rwx pour le propriétaire (user)
  • 2e rwx pour le groupe (group)
  • 3e rwx pour les autres (others)
Permission Signification
0 Aucune permission
1 Exécution
2 Écriture
3 Écriture et exécution
4 Lecture
5 Lecture et exécution
6 Lecture et écriture
7 Lecture, écriture et exécution

6.2 Modification des permissions

🔒 Lecture seule pour tous
Rendre un fichier accessible en lecture uniquement
💻 Commandes
# Rendre un fichier accessible en lecture seule pour tous
chmod 444 informations_generales.txt
ls -l informations_generales.txt
👤 Propriétaire uniquement
Lecture/écriture pour le propriétaire seulement
💻 Commandes
# Rendre un fichier accessible en lecture/écriture pour le propriétaire uniquement
chmod 600 habitat.txt
ls -l habitat.txt
⚡ Fichier exécutable
Ajouter la permission d'exécution
💻 Commandes
# Rendre un fichier exécutable
chmod +x alimentation.txt
ls -l alimentation.txt
🚫 Retirer des permissions
Supprimer l'écriture pour groupe et autres
💻 Commandes
# Retirer les permissions d'écriture pour le groupe et les autres
chmod go-w reproduction.txt
ls -l reproduction.txt

🗑️ Partie 7 : Suppression et nettoyage

7.1 Suppression de fichiers

🎯 Objectif
Apprendre à supprimer des fichiers de manière sécurisée et vérifier les suppressions.
🗑️ rm - Suppression de fichier
Créer, supprimer et vérifier
💻 Test de suppression
# Créer un fichier temporaire
touch fichier_temporaire.txt

# Supprimer-le
rm fichier_temporaire.txt

# Vérifier qu'il a été supprimé
ls

7.2 Suppression de répertoires

⚠️ ATTENTION
rm -rf supprime définitivement et récursivement. Utiliser avec précaution !
📁 Test de suppression de répertoire
Créer, tester et supprimer un répertoire
💻 Suppression de répertoire
# Créer un répertoire de test avec des fichiers
mkdir test_suppression
cd test_suppression
touch fichier1.txt fichier2.txt
cd ..

# Tenter de supprimer le répertoire (cela échouera)
rm test_suppression

# Supprimer le répertoire et son contenu
rm -rf test_suppression

# Vérifier la suppression
ls

🎯 Partie 8 : Projet final

8.1 Mission complète

🎯 Objectif
Mettre en pratique toutes les compétences acquises pour créer une structure complète.
📋 Étapes à suivre :
  1. Créer les répertoires nécessaires
  2. Ajouter les fichiers d'information (voir annexes pour le contenu)
  3. Afficher les contenus de chaque fichier pour vérifier si tout a bien été renseigné
  4. Créer des liens symboliques utiles
  5. Configurer les permissions appropriées :
    • Fichiers de données : lecture/écriture pour le propriétaire, lecture pour les autres
    • Répertoires : accès complet pour le propriétaire, lecture/exécution pour les autres

8.2 Script de sauvegarde

📜 Création du script
Créer et rendre exécutable le script de sauvegarde
💻 Préparation du script
# Créer un script simple de sauvegarde
cd ~/refuge_renards
touch sauvegarde.sh
chmod +x sauvegarde.sh
⚙️ Contenu du script
Code à ajouter dans le script avec vim
💻 Script de sauvegarde
#!/bin/bash
echo "Début de la sauvegarde du refuge..."
cp -r especes/ sauvegardes/sauvegarde_$(date +%Y%m%d)
echo "Sauvegarde terminée !"

❓ Questions de révision

🧠 Testez vos connaissances
  1. Quelle est la différence entre un chemin relatif et un chemin absolu ?
  2. Comment créer un lien symbolique ?
  3. Que signifie la permission 755 ?
  4. Comment supprimer un répertoire non vide ?
  5. Quelles sont les trois façons de sortir de vim ?

🌐 Pour aller plus loin : Collaboration en réseau

9.1 Connexion au réseau

🎯 Objectif
Apprendre à se connecter au réseau et partager des données entre machines.
📶 nmcli - Connexion WiFi
Se connecter au réseau sans fil
💻 Connexion réseau
# Se connecter au réseau WiFi
nmcli device wifi connect nom_du_reseau --ask
# Entrer le mot de passe quand demandé
📱 Note : Vous connecterez vos cartes au même réseau en partage de connexion avec vos téléphones portables.

9.2 Partage de données entre groupes

🎯 Objectif
Échanger vos informations sur les renards avec un autre groupe via la commande scp (Secure Copy).
📤 scp - Envoi de fichiers
Copier des fichiers vers une autre machine
💻 Structure et envoi
# Structure de la commande scp
# scp source destination

# Exemple pour envoyer vos fichiers vers l'autre groupe
# Remplacer user par le nom d'utilisateur et ip_machine par l'adresse IP
scp ~/refuge_renards/nom_de_l_espece/* user@ip_machine:~/refuge_renards/partage/
📥 scp - Réception de fichiers
Récupérer des fichiers depuis une autre machine
💻 Réception
# Exemple pour récupérer les fichiers de l'autre groupe
scp user@ip_machine:~/refuge_renards/leur_espece/* ~/refuge_renards/partage/
📋 Étapes pour faciliter l'échange :
  1. Créer un dossier partage dans votre refuge_renards
  2. Échanger vos adresses IP avec l'autre groupe (commande ip addr)
  3. Copier vos fichiers dans leurs dossiers respectifs
  4. Vérifiez les permissions des fichiers reçus
🔧 Configuration : Les user sont orangepi pour toutes les cartes et les adresses IP sont récupérables grâce à la commande ifconfig wlan0.