Chapitre 3.4 - Gestion des Fichiers
Objectifs d'Apprentissage
À la fin de ce chapitre, vous serez capable de:
- Éditer des fichiers avec vi/vim et nano
- Comparer des fichiers
- Archiver et compresser
- Gérer les liens symboliques et durs
Édition de Fichiers
nano (Simple)
Éditeur simple et convivial:
# Ouvrir un fichier
nano fichier.txt
# Raccourcis nano:
# Ctrl+O : Sauvegarder
# Ctrl+X : Quitter
# Ctrl+W : Rechercher
# Ctrl+K : Couper la ligne
# Ctrl+U : Coller
Avantages:
- Facile à utiliser
- Raccourcis affichés
- Idéal pour débutants
vim (Avancé)
Éditeur puissant et configurable:
# Ouvrir un fichier
vim fichier.txt
# Modes vim:
# Normal (par défaut): Navigation
# Insert (i): Édition
# Command (:): Commandes
# Commandes de base:
# i : Mode insertion
# Esc : Retour mode normal
# :w : Sauvegarder
# :q : Quitter
# :wq : Sauvegarder et quitter
# :q! : Quitter sans sauvegarder
# dd : Supprimer ligne
# yy : Copier ligne
# p : Coller
Avantages:
- Très puissant
- Disponible partout
- Efficace une fois maîtrisé
Comparaison de Fichiers
diff
Comparer deux fichiers:
# Comparaison simple
diff file1.txt file2.txt
# Unifié (plus lisible)
diff -u file1.txt file2.txt
# Ignorer espaces
diff -w file1.txt file2.txt
# Récursif sur répertoires
diff -r dir1/ dir2/
cmp
Comparer byte par byte:
cmp file1.txt file2.txt
Archivage et Compression
tar
Archiver des fichiers:
# Créer une archive
tar -cf archive.tar fichiers/
tar -czf archive.tar.gz fichiers/ # Avec compression gzip
tar -cjf archive.tar.bz2 fichiers/ # Avec compression bzip2
# Extraire
tar -xf archive.tar
tar -xzf archive.tar.gz
tar -xjf archive.tar.bz2
# Lister le contenu
tar -tf archive.tar
# Options:
# -c : Créer
# -x : Extraire
# -f : Fichier
# -z : gzip
# -j : bzip2
# -v : Verbose
zip/unzip
Format ZIP:
# Créer
zip archive.zip fichier1.txt fichier2.txt
zip -r archive.zip repertoire/
# Extraire
unzip archive.zip
unzip archive.zip -d destination/
# Lister
unzip -l archive.zip
gzip/gunzip
Compression simple:
# Compresser
gzip fichier.txt # Crée fichier.txt.gz
# Décompresser
gunzip fichier.txt.gz
gzip -d fichier.txt.gz
Liens
Liens Symboliques
Pointeurs vers d'autres fichiers:
# Créer un lien symbolique
ln -s cible.txt lien.txt
ln -s /chemin/absolu/cible lien
# Voir où pointe le lien
ls -l lien.txt
readlink lien.txt
# Supprimer
rm lien.txt # Supprime seulement le lien
Caractéristiques:
- Peut pointer vers fichiers ou répertoires
- Peut pointer vers fichiers inexistants
- Peut traverser les systèmes de fichiers
- Identifié par
ldansls -l
Liens Durs
Référence directe au même inode:
# Créer un lien dur
ln cible.txt lien.txt
# Vérifier (même inode)
ls -li cible.txt lien.txt
Caractéristiques:
- Même inode que l'original
- Ne peut pas pointer vers répertoires
- Ne peut pas traverser les systèmes de fichiers
- Supprimer l'original ne supprime pas le lien
Opérations Avancées
split
Diviser un fichier:
# Diviser en fichiers de 100 lignes
split -l 100 gros_fichier.txt partie_
# Diviser par taille
split -b 10M gros_fichier.txt partie_
join
Joindre des fichiers:
join file1.txt file2.txt
sort
Trier des fichiers:
# Trier
sort fichier.txt
# Trier numériquement
sort -n nombres.txt
# Trier inversement
sort -r fichier.txt
# Trier par colonne
sort -k 2 fichier.txt
uniq
Supprimer les doublons:
# Supprimer lignes dupliquées
uniq fichier.txt
# Compter les occurrences
uniq -c fichier.txt
# Afficher seulement les uniques
uniq -u fichier.txt
Résumé
Dans ce chapitre, vous avez appris:
Édition: nano (simple), vim (avancé)
Comparaison: diff, cmp pour comparer fichiers
Archivage: tar, zip pour créer archives
Compression: gzip, bzip2 pour compresser
Liens: Symboliques (ln -s) et durs (ln)
Opérations: split, join, sort, uniq
Prochaines Étapes
Chapitre 3.5: Permissions Fichiers
Lab 3.1: Navigation et Création
Chapitre créé le: Décembre 2024