gzip : compression et décompression de fichiers
La compression de fichiers permet de réduire l'espace de stockage nécessaire et d'accélérer les transferts réseau. Sous Linux, l'outil gzip est couramment utilisé pour ces opérations. Il est important de noter que, par défaut, la commande supprime le fichier original après compression.
Syntaxe
gzip [options] nom_fichier
Options principales
-c: écrit le résultat sur la sortie standard et conserve le fichier d'origine.-d: décompresse un fichier.-l: affiche des informations détaillées sur chaque fichier compressé : taille compressée, taille originale, taux de compression, nom original.-r: parcourt récursivement un répertoire pour compresser ou décompresser tous les fichiers.-t: vérifie l'intégrité du fichier compressé.-v: affiche le nom et le taux de compression pour chaque fichier traité.-1à-9: ajuste le niveau de compression (1 = rapide, faible compression ; 9 = lent, forte compression). La valeur par défaut est 6.
Exemples pratiques
Soit le répertoire /home contenant les fichiers mm.txt, sort.txt et xx.com.
1. Compresser tous les fichiers du répertoire
$ cd /home
$ gzip *
$ ls
m.txt.gz sort.txt.gz xx.com.gz
2. Décompresser tous les fichiers avec affichage détaillé
$ gzip -dv *
mm.txt.gz 43.1%-----replaced with mm.txt
sort.txt.gz 43.1%-----replaced with sort.txt
xx.com.gz 43.1%-----replaced with xx.com
$ ls
mm.txt sort.txt xx.com
3. Afficher les informations sans décompresser
$ gzip -l *
compressed uncompr. ratio uncompressed_name
277 445 43.1% mm.txt
278 445 43.1% sort.txt
277 445 43.1% xx.com
$ ls
mm.txt.gz sort.txt.gz xx.com.gz
4. Compresser une archive tar
$ gzip usr.tar
$ ls
usr.tar.gz
Pour décompresser : gzip -d *.gz
gunzip : décompression des fichiers .gz
gunzip est l'outil de décompression associé à gzip. Sur la plupart des distributions Linux, il s'agit d'un script enveloppe appelant gzip -d. Toutes les options de gzip sont donc applicables.
Par défaut, gunzip supprime le fichier compressé après l'avoir décompressé.
Décompression standard
$ gunzip fichier.gz
Conserver le fichier compressé
Utilisez l'option -k :
$ gunzip -k fichier.gz
Écrire sur la sortie standard
$ gunzip -c fichier.gz > /chemin/vers/fichier
Décompresser plusieurs fichires
$ gunzip f1.gz f2.gz f3.gz
Décompression récursive
$ gunzip -r repertoire
Afficher le contenu d'un fichier compressé
$ gunzip -l fichier.gz
Ajoutez -v pour une sortie plus détaillée.
zip : compression au format .zip
La commande zip crée des archives au format .zip, largement compatibles avec d'autres systèmes d'exploitation.
Options principales
-q: mode silencieux.-r: inclut récursivement les sous-répertoires.-d: supprime un fichier de l'archive.-x: exclut certains fichiers.-1à-9: niveau de compression (1 = rapide, 9 = maximal).
Exemples
1. Compresser tout le contenu de /home/data dans data.zip :
zip -q -r data.zip /home/data
2. Depuis le répertoire parent :
cd /home
zip -q -r data.zip data
3. Depuis le répertoire /home/data lui-même :
cd /home/data
zip -q -r data.zip *
Toutes ces commandes produisent le même résultat.
unzip : extraction des archives .zip
La commande unzip permet d'extraire le contenu d'archives .zip. Contrairement à gzip, le fichier compressé est conservé par défaut.
Options principales
-x fichier: extrait tout sauf le fichier spécifié.-v: affiche la liste des fichiers sans extraire.-t: vérifie l'intégrité de l'archive.-d répertoire: extrait dans un répertoire spécifique.-n: ne remplace pas les fichiers existants.-o: remplace les fichiers sans demander confirmation.-j: ignore la structure des répertoires.
Exemples
1. Extraction simple :
unzip text.zip
2. Extraction dans /tmp sans écraser les fichiers existants :
unzip -n text.zip -d /tmp
3. Visualisation du contenu de l'archive :
unzip -v text.zip
zgrep : recherche dans les fichiers compressés
zgrep fonctionne comme grep mais opère directement sur des fichiers compressés (format .gz). Il est utile pour rechercher un motif dans une archive sans avoir à la décompresser au préalable.
zgrep "motif" fichier.gz