Aller au contenu principal

Lab 3.1 - Navigation et Création dans le Système de Fichiers

Objectifs​

À la fin de ce lab, vous serez capable de:

  • Naviguer dans le système de fichiers Linux
  • Créer des fichiers et répertoires
  • Comprendre la structure FHS (Filesystem Hierarchy Standard)
  • Utiliser les commandes de base (cd, ls, mkdir, touch, etc.)
  • Manipuler les fichiers et répertoires

Prérequis​

  • Ubuntu 24.04 installé et fonctionnel
  • Terminal ouvert
  • Accès utilisateur normal (pas besoin de root pour la plupart des exercices)

Exercice 1: Navigation de Base​

Étape 1: Répertoires Importants​

# Voir le répertoire actuel
pwd

# Aller dans le répertoire home
cd ~
# ou
cd $HOME

# Voir le contenu
ls

# Voir avec détails
ls -l

# Voir les fichiers cachés aussi
ls -la

Étape 2: Structure FHS​

# Aller à la racine
cd /

# Voir la structure
ls -la /

# Explorer les répertoires importants
ls /bin # Binaires essentiels
ls /usr/bin # Binaires utilisateur
ls /etc # Fichiers de configuration
ls /var # Données variables
ls /home # Répertoires utilisateurs
ls /tmp # Fichiers temporaires

Question: Quels sont les répertoires principaux que vous voyez?

Étape 3: Navigation Relative et Absolue​

# Chemin absolu (depuis la racine)
cd /home/$USER

# Chemin relatif (depuis le répertoire actuel)
cd Documents # Si Documents existe dans le répertoire actuel

# Retourner au répertoire précédent
cd -

# Remonter d'un niveau
cd ..

# Remonter de deux niveaux
cd ../..

Exercice 2: Création de Répertoires​

Étape 1: Créer des Répertoires​

# Créer un répertoire
mkdir mon-lab

# Créer plusieurs répertoires
mkdir dir1 dir2 dir3

# Créer une arborescence
mkdir -p projet/src projet/docs projet/tests

# Vérifier
tree projet
# Si tree n'est pas installé:
# sudo apt install tree

Étape 2: Structure Organisée​

# Créer une structure pour un projet
mkdir -p ~/projets/linux-lab/{docs,scripts,data,backup}

# Voir la structure
tree ~/projets/linux-lab

# Ou avec ls
ls -R ~/projets/linux-lab

Exercice 3: Création de Fichiers​

Étape 1: Méthodes de Création​

# Méthode 1: touch (fichier vide)
touch fichier1.txt

# Méthode 2: echo
echo "Contenu du fichier" > fichier2.txt

# Méthode 3: cat avec heredoc
cat > fichier3.txt << EOF
Ligne 1
Ligne 2
Ligne 3
EOF

# Méthode 4: Éditeur
nano fichier4.txt
# Écrire du texte, Ctrl+O pour sauvegarder, Ctrl+X pour quitter

Étape 2: Vérifier les Fichiers​

# Voir les fichiers créés
ls -lh

# Voir le contenu
cat fichier2.txt

# Compter les lignes
wc -l fichier3.txt

# Voir les premières lignes
head -2 fichier3.txt

# Voir les dernières lignes
tail -2 fichier3.txt

Exercice 4: Manipulation de Fichiers​

Étape 1: Copier et Déplacer​

# Créer un répertoire de test
mkdir test-files
cd test-files

# Créer un fichier
echo "Test" > original.txt

# Copier
cp original.txt copie.txt

# Copier vers un autre répertoire
cp original.txt ~/Documents/

# Copier un répertoire
cp -r ~/mon-lab ~/mon-lab-backup

# Déplacer (renommer)
mv original.txt renomme.txt

# Déplacer vers un autre répertoire
mv renomme.txt ~/Documents/

Étape 2: Supprimer​

# Supprimer un fichier
rm fichier1.txt

# Supprimer plusieurs fichiers
rm fichier2.txt fichier3.txt

# Supprimer un répertoire vide
rmdir dir-vide

# Supprimer un répertoire avec contenu
rm -r mon-lab

# Supprimer avec confirmation
rm -ri projet/

Attention: rm -r supprime définitivement! Pas de corbeille.


Exercice 5: Recherche de Fichiers​

Étape 1: find​

# Trouver tous les fichiers .txt dans le répertoire actuel
find . -name "*.txt"

# Trouver dans tout le système (peut être long)
find / -name "fichier.txt" 2>/dev/null

# Trouver les fichiers modifiés récemment
find ~ -mtime -1 # Dernières 24h

# Trouver les fichiers plus gros que 1MB
find ~ -size +1M

Étape 2: locate (si installé)​

# Installer locate
sudo apt update
sudo apt install mlocate

# Mettre à jour la base de données
sudo updatedb

# Rechercher
locate fichier.txt

Exercice 6: Pratique Complète​

Étape 1: Créer une Structure de Projet​

# Créer la structure
mkdir -p ~/projet-linux/{src/{scripts,config},docs,logs,backup}

# Créer des fichiers
touch ~/projet-linux/src/scripts/script1.sh
touch ~/projet-linux/src/config/config.conf
echo "Log initial" > ~/projet-linux/logs/app.log

# Voir la structure
tree ~/projet-linux

Étape 2: Organiser les Fichiers​

cd ~/projet-linux

# Créer des fichiers de test
touch test1.txt test2.txt test3.txt

# Créer un répertoire pour les tests
mkdir tests

# Déplacer les fichiers de test
mv test*.txt tests/

# Vérifier
ls -R

Exercice 7: Commandes Utiles​

Étape 1: Informations sur les Fichiers​

# Type de fichier
file fichier.txt
file /bin/ls

# Taille du fichier
du -h fichier.txt

# Taille d'un répertoire
du -sh ~/projet-linux

# Espace disque
df -h

Étape 2: Liens Symboliques​

# Créer un lien symbolique
ln -s ~/projet-linux/src/scripts/script1.sh ~/script1-link

# Voir le lien
ls -l ~/script1-link

# Suivre le lien
readlink -f ~/script1-link

Vérification​

Checklist​

Vérifiez que vous pouvez:

  • Naviguer dans le système de fichiers (cd, pwd)
  • Voir le contenu des répertoires (ls avec options)
  • Créer des répertoires (mkdir, mkdir -p)
  • Créer des fichiers (touch, echo, cat, nano)
  • Copier et déplacer des fichiers (cp, mv)
  • Supprimer des fichiers et répertoires (rm, rmdir)
  • Rechercher des fichiers (find, locate)
  • Comprendre la structure FHS

Questions de Réflexion​

  1. Quelle est la différence entre chemin absolu et relatif?

    • Absolu: commence par / (depuis la racine)
    • Relatif: depuis le répertoire actuel
  2. Pourquoi utiliser mkdir -p?

    • Crée les répertoires parents si nécessaire
    • Évite les erreurs si le répertoire existe déjà
  3. Quelle est la différence entre rm et rmdir?

    • rm: supprime fichiers et répertoires (avec -r)
    • rmdir: supprime seulement répertoires vides

Prochaines Étapes​

  • Lab 3.2: Gestion des Permissions
  • Lab 3.3: Recherche et Liens
  • Chapitre 3.2: Structure des Répertoires

Ressources Ubuntu 24.04​


Lab créé le: Décembre 2024 - Testé sur Ubuntu 24.04