Vous avez un journal, un export CSV ou un fichier de sauvegarde à réduire, mais vous voulez garder la copie d’origine le temps de vérifier le résultat. Avec gzip, c’est simple, à condition de ne pas lancer la commande par réflexe : sans option, elle remplace le fichier par sa version .gz.
Voici comment compresser un fichier, conserver l’original, contrôler l’archive et la restaurer proprement. Les exemples fonctionnent sur les distributions Linux courantes qui fournissent GNU gzip.
Ce que gzip modifie par défaut
La commande suivante crée rapport.csv.gz, puis supprime rapport.csv si tout se passe bien :
gzip rapport.csv
Ce comportement convient pour un fichier déjà copié ailleurs ou un ancien log. Sur un export unique, commencez plutôt par l’option -k, qui conserve le fichier source :
gzip -k rapport.csv
ls -lh rapport.csv rapport.csv.gz
Vous devez voir les deux fichiers. Si le fichier contient des données sensibles, vérifiez aussi les droits avant de déposer l’archive sur un partage ou de l’envoyer ailleurs.
Choisir un niveau sans perdre du temps pour rien
GNU gzip accepte des niveaux de -1 à -9. Le niveau -1 privilégie la vitesse, le niveau -9 cherche une archive plus petite. Le réglage par défaut est généralement un bon point de départ pour des logs ou des exports.
Testez les extrêmes sur une copie avant de modifier une tâche de sauvegarde :
gzip -1 -c rapport.csv > rapport-rapide.csv.gz
gzip -9 -c rapport.csv > rapport-compact.csv.gz
ls -lh rapport-rapide.csv.gz rapport-compact.csv.gz
L’option -c écrit le résultat sur la sortie standard. La redirection crée donc une nouvelle archive sans toucher à rapport.csv. Si le gain entre les deux fichiers est faible, garder le niveau rapide évite de rallonger inutilement une sauvegarde ou une rotation de logs.
Vérifier l’archive avant de supprimer l’original
La taille seule ne suffit pas. Demandez à gzip de lire l’intégrité de l’archive, puis affichez ses informations :
gzip -t rapport.csv.gz
gzip -l rapport.csv.gz
echo $?
Un code de retour égal à 0 après gzip -t indique que gzip a pu vérifier le flux compressé. Pour un fichier important, décompressez aussi dans un répertoire temporaire et ouvrez ou comparez le résultat. Le guide sha256sum sous Linux permet d’aller plus loin avec une empreinte avant et après transfert.
Restaurer le fichier tout en gardant le .gz
Pour restaurer un fichier, gunzip ou gzip -d fonctionnent. Sans précaution, la version .gz est supprimée après la décompression. Ajoutez -k si vous voulez garder l’archive pendant votre contrôle :
gzip -dk rapport.csv.gz
ls -lh rapport.csv rapport.csv.gz
Cette méthode est pratique quand vous devez relire un ancien log ou tester une restauration sans effacer la seule archive disponible.
Pour un dossier, créez d’abord une archive tar
gzip compresse un fichier, il ne rassemble pas l’arborescence d’un dossier. Pour sauvegarder un répertoire, créez une archive tar et compressez-la dans la même commande :
tar -czf sauvegarde-home.tar.gz /home/mon-utilisateur
tar -tzf sauvegarde-home.tar.gz | head
La seconde commande liste le contenu sans l’extraire. Ne remplacez pas une sauvegarde existante avant ce contrôle. Pour les options d’archivage, consultez aussi créer et extraire une archive tar sous Linux. Si le temps de compression ou de restauration devient le problème, notre comparaison de zstd et gzip pour une sauvegarde Linux aide à choisir l’outil adapté.
La page de manuel gzip(1) de Debian détaille les options disponibles. Retenez surtout cet ordre : compresser avec -k ou -c, tester avec gzip -t, puis décider si l’original peut partir.
