accueil > Compression et archivage > tar

tar: Créer et extraire des archives de fichiers

Un outil essentiel utilisé pour regrouper plusieurs fichiers et répertoires en un seul fichier .tar (archivage), ou pour extraire ces fichiers groupés à leur état original. Il est souvent utilisé avec des fonctions de compression comme Gzip (-z) ou Bzip2 (-j).

Qu'est-ce que tar ?

tar est l'abréviation de 'Tape Archive' (archive sur bande), et a été initialement créé pour sauvegarder des données sur des bandes magnétiques. Aujourd'hui, c'est un outil standard de Linux utilisé pour regrouper plusieurs fichiers et répertoires en un seul fichier, facilitant ainsi leur gestion ou leur transfert. tar lui-même ne fait que regrouper les fichiers ; la compression est spécifiée via des options distinctes (-z, -j, -J).

Modes de fonctionnement clés

tar fonctionne avec un mode principal à la fois (création, extraction, liste).

  • -c (Create): Crée un nouveau fichier archive.
  • -x (Extract): Extrait les fichiers d'une archive.
  • -t (List): Affiche le contenu (liste) d'un fichier archive sans le décompresser.
  • -f (File): Spécifie le 'fichier' archive cible. Indispensable pour presque toutes les opérations.

Options principales (Shell)

tar est utilisé en combinant des options. Le plus important est de choisir l'une des options `-c`, `-x`, ou `-t`.

1. Modes de fonctionnement (choisir un)

2. Spécification du fichier et de la compression

3. Cible et fonctionnalités supplémentaires

Commande générée :

Essayez de combiner les commandes.

Description:

`tar` Exécute la commande.

Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.

Exemples de scénarios d'utilisation (Shell)

Voici les exemples de combinaisons les plus fréquemment utilisées. (Le tiret `-` devant les options peut être omis, mais il est préférable de le spécifier.)

Créer une archive compressée avec gzip (.tar.gz)

tar -cvzf backup.tar.gz /home/user/data

c (créer), v (verbeux), z (gzip), f (fichier) + [fichier_résultat] + [cible]

Extraire une archive compressée avec gzip (.tar.gz)

tar -xvzf backup.tar.gz

x (extraire), v (verbeux), z (gzip), f (fichier) + [fichier_cible]

Lister le contenu d'un fichier compressé (.tar.gz)

tar -tvf backup.tar.gz

t (lister), v (verbeux), f (fichier) (tar récent détecte -z automatiquement)

Extraire l'archive vers un répertoire spécifié

tar -xvzf backup.tar.gz -C /opt/restore

Spécifiez le chemin avec l'option -C.

Créer une archive compressée avec bzip2 (.tar.bz2)

tar -cvjf archive.tar.bz2 ./docs

Utilisez l'option j (bzip2) au lieu de z.

Extraire une archive compressée avec bzip2 (.tar.bz2)

tar -xvjf archive.tar.bz2

Compresser en excluant des fichiers/répertoires spécifiques

tar -cvzf app.tar.gz ./app --exclude="*.log" --exclude="node_modules"

Utilisez l'option --exclude. (Peut être utilisée plusieurs fois)

Installation

tar est préinstallé sur presque toutes les distributions Linux (et macOS). (Généralement GNU tar). Si pour une raison quelconque une installation est nécessaire, il peut être installé avec le nom de paquet 'tar'.

Installé par défaut

Une installation séparée est rarement nécessaire. Vérifiez la version en tapant `tar --version`.

Debian/Ubuntu (si nécessaire)

sudo apt update && sudo apt install -y tar

RHEL/CentOS/Fedora (si nécessaire)

sudo dnf install -y tar

Astuces et précautions

Astuces utiles

  • Omission du tiret (-): Selon une ancienne convention, le tiret du premier groupe d'options peut être omis, comme dans `tar cvf ...` (ex: `tar cvf` = `tar -cvf`). Cependant, il est recommandé d'inclure le tiret pour plus de clarté.
  • Détection automatique de la compression: Les versions récentes de `tar` détectent automatiquement la compression en fonction de l'extension du fichier lors de l'extraction (-x), même sans les options `-z`, `-j`, `-J`. (Ex: `tar -xf archive.tar.gz` suffit.)
  • Conservation des permissions (-p): Lors de la restauration après une sauvegarde système, il est crucial d'utiliser l'option `-p` pour conserver les permissions et la propriété des fichiers.
  • Problème de chemin (-C): Si vous souhaitez extraire des fichiers dans un autre emplacement que le répertoire actuel, l'utilisation de l'option `-C /chemin` est beaucoup plus efficace que de déplacer les fichiers après coup.
  • Attention aux chemins absolus: Si vous archivez des fichiers avec un chemin absolu comme `/home/user` lors de la création (-c), ils seront extraits au même chemin absolu lors de l'extraction (-x). (Les versions récentes de tar peuvent supprimer le `/` initial pour des raisons de sécurité.) Il est généralement plus sûr d'archiver avec des chemins relatifs, par exemple `cd /home && tar -cvf user.tar ./user`.

commandes associées

Des commandes fonctionnellement similaires ou souvent utilisées ensemble.



Commandes de la même catégorie