0% ont trouvé ce document utile (0 vote)
3 vues17 pages

MODULE 2 - Système de Fichiers Linux: Objectifs Pédagogiques

Ce module enseigne le système de fichiers Linux, y compris son architecture, la navigation dans l'arborescence, et la manipulation de fichiers et répertoires via la ligne de commande. Les apprenants apprendront également à gérer les permissions et la propriété des fichiers, ainsi qu'à utiliser des liens symboliques et durs. Des exercices pratiques sont fournis pour renforcer les compétences acquises.

Transféré par

nathankams21
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues17 pages

MODULE 2 - Système de Fichiers Linux: Objectifs Pédagogiques

Ce module enseigne le système de fichiers Linux, y compris son architecture, la navigation dans l'arborescence, et la manipulation de fichiers et répertoires via la ligne de commande. Les apprenants apprendront également à gérer les permissions et la propriété des fichiers, ainsi qu'à utiliser des liens symboliques et durs. Des exercices pratiques sont fournis pour renforcer les compétences acquises.

Transféré par

nathankams21
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

MODULE 2 – Système de fichiers Linux

Objectifs pédagogiques
À la fin de ce module, tu seras capable de :

Comprendre l'architecture du système de fichiers Linux

Navigator efficacement dans l'arborescence

Manipuler fichiers et répertoires via ligne de commande

Comprendre les permissions et la propriété des fichiers

Distinguer les différents types de fichiers Linux

1. Architecture du système de fichiers


La philosophie "Tout est fichier"
Sous Linux, TOUT est traité comme un fichier :

Les fichiers texte → fichiers

Les répertoires → fichiers spéciaux

Les disques durs → fichiers ( /dev/sda )

Les processus → fichiers ( /proc/1234 )

Les périphériques → fichiers ( /dev/usb )

Structure en arbre inversé

/ (racine, root)
├── bin/ (binaires essentiels)
├── boot/ (fichiers de démarrage)
├── dev/ (périphériques)
├── etc/ (configuration système)
├── home/ (répertoires utilisateurs)
│ ├── alice/
│ └── bob/
├── lib/ (bibliothèques partagées)
├── media/ (points de montage amovibles)
├── mnt/ (montages temporaires)
├── opt/ (logiciels optionnels)
├── proc/ (informations processus)
├── root/ (home de l'admin root)
├── run/ (données runtime)
├── sbin/ (binaires système)
├── srv/ (données services)
├── sys/ (infos système/kernel)
├── tmp/ (fichiers temporaires)
├── usr/ (programmes utilisateur)
│ ├── bin/
│ ├── lib/
│ └── share/
└── var/ (données variables)
├── log/
└── www/

2. Les répertoires principaux expliqués


Répertoire Signification Contenu Exemple

/ Root Racine du système Point de départ

/home Home directories Dossiers utilisateurs /home/alice

/root Root's home Dossier de l'admin /root

/bin Binaries Commandes de base ls , cp , cat

/sbin System binaries Commandes admin fdisk , reboot

/etc Et cetera Fichiers de config /etc/passwd

/var Variable Données changeantes logs, bases de données

/tmp Temporary Fichiers temporaires Vidé au redémarrage

/usr Unix System Resources Programmes /usr/bin/firefox

/opt Optional Logiciels tiers /opt/google/chrome

/dev Devices Périphériques /dev/sda1 (disque)

/proc Processes Infos processus (virtuel) /proc/cpuinfo

/sys System Infos kernel (virtuel) /sys/class/net

/boot Boot Noyau et démarrage /boot/vmlinuz

/lib Libraries Bibliothèques système /lib/[Link]

/media Media Montage auto USB/CD /media/usb

/mnt Mount Montages manuels /mnt/disk2


 

🔍 Astuces mnémotechniques
etc = ET Cetera (et le reste... les configs)

bin = BINaries (programmes)


var = VARiable (change souvent)

tmp = TeMPoraire (jetable)

3. Navigation dans le système


Chemins absolus vs relatifs
Chemin absolu : commence toujours par /

bash

/home/alice/Documents/[Link]

Chemin relatif : depuis ta position actuelle

bash

Documents/[Link]
./[Link]
../alice/Documents/[Link]

Symboles spéciaux

Symbole Signification

/ Racine du système

~ Ton répertoire home ( /home/username )

. Répertoire actuel

.. Répertoire parent

- Répertoire précédent
 

Commandes de navigation

bash
# Afficher le répertoire courant
pwd # Print Working Directory

# Se déplacer
cd /etc # Aller vers /etc (absolu)
cd Documents # Aller vers Documents (relatif)
cd ~ # Aller vers ton home
cd # Idem (raccourci)
cd .. # Remonter d'un niveau
cd ../.. # Remonter de 2 niveaux
cd - # Retour au dossier précédent

# Lister le contenu
ls # Liste simple
ls -l # Liste détaillée
ls -a # Affiche fichiers cachés (.)
ls -lh # Tailles lisibles (K, M, G)
ls -lah # Combinaison complète
ls -R # Récursif (sous-dossiers)
ls -lt # Tri par date
ls -lS # Tri par taille

# Visualiser l'arborescence
tree # Arbre visuel
tree -L 2 # Limite à 2 niveaux
tree -d # Seulement les dossiers

4. Manipulation de fichiers et répertoires


Créer

bash
# Créer un fichier vide
touch [Link]
touch [Link] [Link] [Link]

# Créer un répertoire
mkdir dossier
mkdir -p chemin/complet/nouveau # Crée parents si besoin
mkdir dossier1 dossier2 dossier3

# Créer avec contenu


echo "Bonjour Linux" > [Link]
cat > [Link] # Tape contenu, Ctrl+D pour finir

Copier

bash

# Copier un fichier
cp [Link] [Link]
cp [Link] /home/alice/backup/
cp [Link] [Link] # Copie + renomme

# Copier un répertoire
cp -r dossier/ copie_dossier/ # -r = récursif
cp -r Documents/ /tmp/sauvegarde/

# Options utiles
cp -i [Link] [Link] # -i = demande confirmation
cp -v [Link] [Link] # -v = verbose (affiche action)
cp -u [Link] [Link] # -u = uniquement si plus récent

Déplacer / Renommer

bash

# Déplacer
mv [Link] /home/alice/Documents/
mv *.txt Documents/ # Tous les .txt

# Renommer (c'est juste un déplacement)


mv ancien_nom.txt nouveau_nom.txt
mv vieux_dossier nouveau_dossier

# Options
mv -i [Link] [Link] # Demande confirmation
mv -v [Link] [Link] # Mode verbose
Supprimer

bash

# Supprimer un fichier
rm [Link]
rm [Link] [Link]

# Supprimer un répertoire
rm -r dossier/ # -r = récursif
rm -rf dossier/ # -f = force (pas de confirmation)
rmdir dossier/ # Seulement si vide

# ⚠️ DANGER : suppression définitive


rm -rf / # NE JAMAIS FAIRE ! Détruit tout
sudo rm -rf /* # CATASTROPHIQUE !

# Suppression sécurisée
rm -i [Link] # Demande confirmation
rm -rI dossier/ # Confirmation pour 3+ fichiers

Visualiser le contenu

bash

# Afficher tout le fichier


cat [Link] # Tout d'un coup
tac [Link] # Inverse (dernier → premier)

# Lecture page par page


less [Link] # Navigation (q pour quitter)
more [Link] # Plus basique

# Début et fin
head [Link] # 10 premières lignes
head -n 20 [Link] # 20 premières lignes
tail [Link] # 10 dernières lignes
tail -n 15 [Link] # 15 dernières lignes
tail -f /var/log/syslog # Suit en temps réel (logs)

# Compter
wc [Link] # Lignes, mots, caractères
wc -l [Link] # Nombre de lignes

Rechercher

bash
# Chercher des fichiers
find /home -name "*.txt" # Tous les .txt dans /home
find . -name "rapport*" # Commence par rapport
find /var -size +100M # Fichiers > 100 Mo
find . -type f # Seulement fichiers
find . -type d # Seulement répertoires
find . -mtime -7 # Modifiés dans 7 derniers jours

# Recherche rapide (base de données)


locate [Link] # Plus rapide que find
sudo updatedb # Met à jour la base locate

# Chercher dans le contenu


grep "mot" [Link] # Lignes contenant "mot"
grep -r "erreur" /var/log/ # Recherche récursive
grep -i "linux" [Link] # Ignore la casse
grep -n "fonction" [Link] # Affiche numéros de ligne

5. Permissions et propriété
Comprendre les permissions
Quand tu fais ls -l , tu vois :

-rwxr-xr-- 1 alice users 2048 Dec 05 10:30 [Link]

Décomposition :

- rwx r-x r-- 1 alice users 2048 Dec 05 10:30 [Link]


││ │ │ │ │ │ │ │ └─ Nom
││ │ │ │ │ │ │ └─ Date modification
││ │ │ │ │ │ └─ Taille (octets)
││ │ │ │ │ └─ Groupe
│ │ │ │ │ └─ Propriétaire
│ │ │ │ └─ Nombre de liens
│ │ │ └─ Permissions "autres"
│ │ └─ Permissions groupe
│ └─ Permissions propriétaire
└─ Type de fichier
Type de fichier (1er caractère)

Symbole Type

- Fichier normal

d Répertoire (directory)

l Lien symbolique

b Périphérique bloc (disque)

c Périphérique caractère (clavier)

s Socket

p Pipe (tube)
 

Permissions (9 caractères suivants)


3 groupes de 3 caractères : rwx rwx rwx

1. Propriétaire (user)

2. Groupe (group)

3. Autres (others)

Signification :

r = Read (lecture) = 4

w = Write (écriture) = 2

x = eXecute (exécution) = 1

- = pas de permission = 0

Modification des permissions

bash
# Mode symbolique
chmod u+x [Link] # Ajoute exécution au propriétaire
chmod g-w [Link] # Retire écriture au groupe
chmod o+r [Link] # Ajoute lecture aux autres
chmod a+x programme # Ajoute exécution à tous (all)
chmod u+rw,g+r [Link] # Combinaison

# Mode numérique (octal)


chmod 755 [Link] # rwxr-xr-x
chmod 644 [Link] # rw-r--r--
chmod 600 [Link] # rw-------
chmod 777 [Link] # rwxrwxrwx (⚠️ dangereux)
chmod 000 bloqué.txt # ---------

# Récursif
chmod -R 755 dossier/ # Applique à tout le contenu

Calcul numérique :

7 = 4+2+1 = rwx
6 = 4+2 = rw-
5 = 4+1 = r-x
4=4 = r--
3 = 2+1 = -wx
2=2 = -w-
1=1 = --x
0=0 = ---

Modification du propriétaire

bash

# Changer le propriétaire
sudo chown alice [Link]
sudo chown alice:users [Link] # Propriétaire + groupe
sudo chown -R alice dossier/ # Récursif

# Changer le groupe
sudo chgrp users [Link]
sudo chgrp -R developers projet/
6. Liens (symboliques et durs)
Lien dur (hard link)

Pointe directement vers les données sur le disque

Partage le même inode

Si l'original est supprimé, le lien fonctionne encore

bash

ln [Link] lien_dur.txt
ls -li # Affiche les inodes

Lien symbolique (soft link)

Comme un raccourci Windows

Pointe vers le chemin du fichier

Si l'original est supprimé, le lien est cassé

bash

ln -s /chemin/vers/[Link] lien_symbolique.txt
ln -s /usr/bin/python3 python # Raccourci vers python3
ls -l # Affiche → vers la cible

Différence visuelle :

bash

lrwxrwxrwx 1 alice users 15 Dec 05 10:30 lien -> [Link]


-rw-r--r-- 2 alice users 2048 Dec 05 10:25 [Link]

7. Wildcards (caractères jokers)

bash
# * = n'importe quelle séquence
ls *.txt # Tous les fichiers .txt
ls fichier* # Commence par "fichier"
rm *.tmp # Supprime tous les .tmp

# ? = un seul caractère
ls fichier?.txt # [Link], [Link]
ls rapport-200?.pdf # [Link] à [Link]

# [] = un caractère parmi une liste


ls fichier[123].txt # [Link], [Link], [Link]
ls [abc]*.txt # Commence par a, b ou c
ls fichier[0-9].txt # [Link] à [Link]

# {} = alternatives
cp [Link]{,.bak} # Équivaut à: cp [Link] [Link]
mkdir projet-{dev,test,prod} # Crée 3 dossiers

8. Pratique – Exercices progressifs


✅ Exercice 1 : Navigation basique
bash

# 1. Affiche ton répertoire courant


pwd

# 2. Liste le contenu de /etc


ls /etc

# 3. Va dans /tmp
cd /tmp

# 4. Reviens à ton home


cd ~

# 5. Liste tous les fichiers cachés de ton home


ls -la ~

# 6. Affiche l'arborescence de /etc (limité à 2 niveaux)


tree -L 2 /etc
✅ Exercice 2 : Manipulation de fichiers

bash

# 1. Crée un dossier "linux_practice"


mkdir ~/linux_practice
cd ~/linux_practice

# 2. Crée 3 fichiers texte


touch [Link] [Link] [Link]

# 3. Écris du texte dans [Link]


echo "Bonjour Linux" > [Link]

# 4. Affiche son contenu


cat [Link]

# 5. Copie [Link] vers fichier_copie.txt


cp [Link] fichier_copie.txt

# 6. Renomme [Link] en fichier_renommé.txt


mv [Link] fichier_renommé.txt

# 7. Crée un sous-dossier "backup"


mkdir backup

# 8. Copie tous les .txt dans backup/


cp *.txt backup/

# 9. Liste le contenu de backup/


ls -l backup/

# 10. Supprime [Link]


rm [Link]

✅ Exercice 3 : Permissions
bash
# 1. Crée un script
echo '#!/bin/bash' > mon_script.sh
echo 'echo "Hello World"' >> mon_script.sh

# 2. Vérifie les permissions


ls -l mon_script.sh

# 3. Rends-le exécutable
chmod +x mon_script.sh

# 4. Vérifie à nouveau
ls -l mon_script.sh

# 5. Exécute-le
./mon_script.sh

# 6. Crée un fichier privé


touch [Link]
chmod 600 [Link]
ls -l [Link]

✅ Exercice 4 : Recherche
bash

# 1. Trouve tous les .conf dans /etc


find /etc -name "*.conf" 2>/dev/null | head -10

# 2. Cherche les fichiers modifiés aujourd'hui


find ~ -mtime 0 -type f

# 3. Trouve les fichiers > 10 Mo dans ton home


find ~ -size +10M -type f 2>/dev/null

# 4. Cherche le mot "Linux" dans tous tes .txt


grep -r "Linux" ~/linux_practice/*.txt

✅ Exercice 5 : Liens
bash
cd ~/linux_practice

# 1. Crée un lien symbolique


ln -s [Link] lien_sym.txt

# 2. Crée un lien dur


ln [Link] lien_dur.txt

# 3. Affiche les inodes


ls -li

# 4. Supprime [Link]
rm [Link]

# 5. Vérifie quel lien fonctionne encore


cat lien_sym.txt # Devrait échouer
cat lien_dur.txt # Devrait fonctionner

9. Commandes utiles supplémentaires

bash

# Informations fichier
file [Link] # Type de fichier
stat [Link] # Stats détaillées
du -sh dossier/ # Taille d'un dossier
df -h # Espace disque

# Compression
tar -czf [Link] dossier/ # Compresser
tar -xzf [Link] # Décompresser
zip -r [Link] dossier/ # Zip
unzip [Link] # Dézipper

# Comparaison
diff [Link] [Link] # Différences
cmp [Link] [Link] # Comparaison binaire

# Édition rapide
nano [Link] # Éditeur simple
vim [Link] # Éditeur avancé
10. Résumé des commandes essentielles
Commande Action Exemple

pwd Afficher répertoire actuel pwd

cd Changer de répertoire cd /etc

ls Lister contenu ls -lah

mkdir Créer répertoire mkdir dossier

touch Créer fichier vide touch [Link]

cp Copier cp source dest

mv Déplacer/Renommer mv ancien nouveau

rm Supprimer rm [Link]

cat Afficher contenu cat [Link]

less Lire page par page less [Link]

head Premières lignes head -n 10

tail Dernières lignes tail -f [Link]

find Chercher fichiers find . -name "*.txt"

grep Chercher texte grep "mot" fichier

chmod Changer permissions chmod 755 script

chown Changer propriétaire chown user fichier

ln Créer lien ln -s source lien


 

11. Checklist de maîtrise


Théorie
Je comprends la structure FHS (Filesystem Hierarchy Standard)
Je connais les répertoires principaux et leurs rôles
Je distingue chemin absolu vs relatif
Je comprends le système de permissions rwx
Je sais calculer les permissions en octal

Pratique
Je navigue sans aide avec cd, pwd, ls
Je crée/copie/déplace/supprime fichiers et dossiers
Je modifie les permissions avec chmod
J'utilise les wildcards (*, ?, [])
Je sais chercher avec find et grep
Je crée et utilise des liens symboliques

12. Questions d'auto-évaluation


1. Quel est le répertoire racine sous Linux ?

2. Où se trouvent les fichiers de configuration système ?

3. Que signifie chmod 644 [Link] ?

4. Quelle différence entre cp -r et cp ?

5. Comment chercher tous les .log dans /var ?

6. Que fait la commande cd .. ?

7. Quelle est la différence entre lien dur et lien symbolique ?

8. Comment rendre un script exécutable ?

<details> <summary><strong>Réponses</strong></summary>

1. / (slash)

2. Dans /etc

3. rw-r--r-- (propriétaire: lecture+écriture, groupe: lecture, autres: lecture)

4. -r copie récursivement les répertoires

5. find /var -name "*.log"

6. Remonte d'un niveau dans l'arborescence

7. Lien dur partage l'inode, lien symbolique est un raccourci

8. chmod +x [Link]

</details>

🎓 Conclusion
Tu maîtrises maintenant :
✅ La structure du système de fichiers Linux
✅ La navigation et manipulation de fichiers
✅ Le système de permissions
✅ Les outils de recherche
✅ Les liens et concepts avancés
Prochaine étape : Module 3 - Gestion des utilisateurs et processus

Besoin d'aide ? N'hésite pas à poser des questions ! 🐧💪

Vous aimerez peut-être aussi