Aller au contenu

TP : Commandes Linux - Refuge de Renards

Contexte

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 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" 
                      #                                                #                   
                      "                                                "                   

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

# Afficher votre répertoire courant
pwd

# 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

# Aller dans le répertoire racine
cd /

# Vérifier votre position
pwd

# Lister le contenu
ls

# 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

# 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

Créer la structure suivante pour organiser les données :

# 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

# 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

Pour chaque espèce, créer les fichiers suivants :

# 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

# 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

# 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

# Retourner dans le répertoire principal du refuge
cd ~/refuge_renards

# Listage détaillé
ls -lh

# Listage récursif (attention, peut être long !)
ls -R especes/

# 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

# 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

# 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

# Afficher les permissions détaillées
cd ~/refuge_renards/especes/renard_roux
ls -l

Les permissions se lisent ainsi rwxrwxrwx: - 1er rwx pour le propriétaire (user) - 2e rwx pour le groupe (group)
- 3e rwx pour les autres (others)

Les permissions sont décrites ainsi :

Permission Signification
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
0 Aucune permission

6.2 Modification des permissions

# Render un fichier accessible en lecture seule pour tous
chmod 444 informations_generales.txt
ls -l informations_generales.txt

# Render un fichier accessible en lecture/écriture pour le propriétaire uniquement
chmod 600 habitat.txt
ls -l habitat.txt

# Render un fichier exécutable
chmod +x alimentation.txt
ls -l alimentation.txt

# 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

# 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

# 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

⚠️ ATTENTION : rm -rf supprime définitivement et récursivement. Utiliser avec précaution !


Partie 8 : Projet final

8.1 Mission complète

Créer une structure complète pour votre espèce :

  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 :
  6. Fichiers de données : lecture/écriture pour le propriétaire, lecture pour les autres
  7. Répertoires : accès complet pour le propriétaire, lecture/exécution pour les autres

8.2 Script de sauvegarde

# Créer un script simple de sauvegarde
cd ~/refuge_renards
touch sauvegarde.sh
chmod +x sauvegarde.sh

Ajouter ce contenu dans le script avec vim :

#!/bin/bash
echo "Début de la sauvegarde du refuge..."
cp -r especes/ sauvegardes/sauvegarde_$(date +%Y%m%d)
echo "Sauvegarde terminée !"

Ressources


Questions de révision

  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

# Se connecter au réseau WiFi
nmcli device wifi connect nom_du_reseau --ask
# Entrer le mot de passe quand demandé

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

Pour enrichir vos connaissances sur les renards, vous allez échanger vos informations avec un autre groupe. La commande scp (Secure Copy) permet de copier des fichiers de manière sécurisée entre deux machines.

# 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/

# Exemple pour récupérer les fichiers de l'autre groupe
scp user@ip_machine:~/refuge_renards/leur_espece/* ~/refuge_renards/partage/

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

Les user sont orangepi pour toutes les cartes et les adresses ip sont récupérables grâce à la commande ifconfig wlan0.