doganddev
Accueil Blog Boutique

Commande tar Linux : guide complet

DOG&DEV · 26/01/2025

Télémaintenance Performance Gaming Linux
Commande tar Linux : guide complet

Commande tar Linux : guide complet

tar (Tape Archive) est une commande Linux essentielle pour créer, extraire et gérer des archives. Combiné avec des outils de compression (gzip, bzip2, xz), tar est l'outil standard pour les sauvegardes et le transfert de fichiers. Ce guide couvre toutes les utilisations courantes.

Prérequis

  • Linux (Debian, Ubuntu, CentOS, etc.)
  • Accès terminal
  • Connaissances de base en ligne de commande

Qu'est-ce que tar ?

tar combine plusieurs fichiers en une archive unique (fichier .tar). Il peut aussi compresser l'archive avec gzip (.tar.gz), bzip2 (.tar.bz2) ou xz (.tar.xz).

Différence avec zip :

  • tar : combine d'abord, compresse ensuite (meilleure compression)
  • zip : compresse chaque fichier individuellement

Syntaxe de base

tar [options] [archive] [fichiers/dossiers]

Options essentielles

Créer une archive

-c : créer (create) -f : spécifier le nom du fichier -v : mode verbeux (afficher les fichiers)

Exemple :

tar -cvf archive.tar /chemin/dossier

Extraire une archive

-x : extraire (extract) -f : spécifier le nom du fichier -v : mode verbeux

Exemple :

tar -xvf archive.tar

Lister le contenu

-t : lister (list) -f : spécifier le nom du fichier -v : mode verbeux

Exemple :

tar -tvf archive.tar

Compression

gzip (.tar.gz ou .tgz)

Créer :

tar -czvf archive.tar.gz /chemin/dossier

Extraire :

tar -xzvf archive.tar.gz

Lister :

tar -tzvf archive.tar.gz

bzip2 (.tar.bz2)

Créer :

tar -cjvf archive.tar.bz2 /chemin/dossier

Extraire :

tar -xjvf archive.tar.bz2

Lister :

tar -tjvf archive.tar.bz2

xz (.tar.xz)

Créer :

tar -cJvf archive.tar.xz /chemin/dossier

Extraire :

tar -xJvf archive.tar.xz

Lister :

tar -tJvf archive.tar.xz

Options avancées

Exclure des fichiers

--exclude : exclure des fichiers/dossiers

tar -czvf backup.tar.gz /home \
  --exclude=/home/user/tmp \
  --exclude='*.log'

Extraire dans un dossier spécifique

-C : changer de répertoire avant extraction

tar -xzvf archive.tar.gz -C /destination

Conserver les permissions

-p : conserver les permissions (par défaut pour root)

tar -czpvf backup.tar.gz /etc

Afficher la progression

--checkpoint : afficher la progression

tar -czvf backup.tar.gz /large/directory --checkpoint=.1000

Exemples pratiques

Sauvegarde complète

Sauvegarder un site web :

tar -czvf website-backup-$(date +%Y%m%d).tar.gz /var/www/html

Sauvegarder avec exclusion :

tar -czvf backup.tar.gz /var/www \
  --exclude=/var/www/cache \
  --exclude=/var/www/tmp \
  --exclude='*.log'

Restauration

Extraire une sauvegarde :

tar -xzvf website-backup-20250126.tar.gz -C /var/www/html

Transfert via SSH

Créer et transférer :

tar -czf - /local/directory | ssh user@remote "cat > backup.tar.gz"

Extraire depuis SSH :

ssh user@remote "tar -czf - /remote/directory" | tar -xzvf - -C /local

Archive incrémentielle

Créer une archive avec timestamp :

tar -czvf backup-$(date +%Y%m%d-%H%M%S).tar.gz /data

Comparaison des formats

Format Extension Compression Vitesse Usage
tar .tar Aucune Rapide Archives non compressées
gzip .tar.gz Bonne Rapide Standard, très utilisé
bzip2 .tar.bz2 Meilleure Plus lent Meilleure compression
xz .tar.xz Excellente Très lent Maximum compression

Recommandation : .tar.gz pour la plupart des cas (bon compromis vitesse/compression).

Dépannage

Problème Cause possible Solution
"Cannot open: No such file" Fichier inexistant Vérifier le chemin
"Permission denied" Droits insuffisants Utiliser sudo ou corriger les permissions
Archive corrompue Transfert interrompu Refaire la sauvegarde
Espace disque insuffisant Disque plein Libérer de l'espace ; utiliser compression

Bonnes pratiques

  • Nommer les archives : inclure la date (backup-20250126.tar.gz)
  • Tester les sauvegardes : extraire pour vérifier
  • Compression : utiliser gzip pour un bon compromis
  • Exclusions : exclure cache, tmp, logs des sauvegardes
  • Vérification : utiliser tar -tzvf avant extraction importante

Astuces

Raccourcis courants

Créer : tar -czf (sans -v pour moins de verbosité) Extraire : tar -xzf Lister : tar -tzf

Combinaison avec find

Archiver tous les fichiers modifiés aujourd'hui :

find /data -mtime -1 -print0 | tar -czvf backup.tar.gz --null -T -

Vérifier l'intégrité

Test d'extraction sans extraire :

tar -tzf archive.tar.gz > /dev/null && echo "Archive OK" || echo "Archive corrompue"

Ressources


Cet article s'inscrit dans notre série de guides Linux et administration système. Pour un serveur sur-mesure, contact.

Commentaires (0)

Laisser un commentaire