3.5 KiB
tar
Introduction
tar (tape archive) est l'outil standard sous Linux pour regrouper plusieurs fichiers et dossiers dans une seule archive, éventuellement compressée. Avant d'entrer dans les commandes, voici les options à connaître :
c: créer (create) une archivex: extraire (extract) une archivet: lister (table) le contenuv: mode verbeux (verbose)f: indique le nom du fichier archive (file)z: compression gzipj: compression bzip2J: compression xz
Comparaison des formats de compression
La taille d'une archive tar dépend fortement de l'algorithme de compression. Exemple avec un dossier html contenant des fichiers HTML, CSS et JS :
| Archive | Taille (octets) |
|---|---|
| tar | 40 960 |
| tar.gz | 6 200 |
| tar.bz2 | 6 003 |
| tar.xz | 5 656 |
En règle générale : gzip est le plus rapide, xz offre le meilleur taux de compression, bzip2 se situe entre les deux.
tar : archiver sans compresser
Créer une archive à partir d'un ou plusieurs fichiers :
tar cvf archive.tar fichier1 fichier2…
Créer une archive à partir d'un dossier :
tar cvf archive.tar dossier/
Attention : le chemin passé en argument est conservé tel quel dans l'archive. Pour archiver le contenu sans inclure le chemin parent, utilisez
-C:tar cvf archive.tar -C /chemin/parent dossier
Extraire les fichiers d'une archive :
tar xvf archive.tar
Lister le contenu d'une archive :
tar tvf archive.tar
tar.gz : compression gzip
Toutes les commandes utilisent l'option z.
Créer une archive compressée à partir de fichiers ou d'un dossier :
tar zcvf archive.tar.gz fichier1 fichier2…
tar zcvf archive.tar.gz dossier/
Créer une archive sans les informations de propriétaire et de groupe (utile pour produire une archive portable destinée à un autre système) :
tar zcvf archive.tar.gz . --owner=0 --group=0
Pensez à documenter les droits attendus à l'extraction (par exemple via un script post-déploiement ou un
chownexplicite).
Extraire :
tar zxvf archive.tar.gz
Lister le contenu :
tar ztvf archive.tar.gz
Supprimer un fichier dans l'archive :
tar --delete -f archive.tar.gz chemin/du/fichier
tar.xz : compression xz
Utilise l'option J (le meilleur taux de compression, mais le plus lent).
Créer une archive à partir de fichiers ou d'un dossier :
tar Jcvf archive.tar.xz fichier1 fichier2…
tar Jcvf archive.tar.xz dossier/
Extraire :
tar Jxvf archive.tar.xz
tar.bz2 : compression bzip2
Utilise l'option j (minuscule).
Créer une archive à partir de fichiers ou d'un dossier :
tar jcvf archive.tar.bz2 fichier1 fichier2…
tar jcvf archive.tar.bz2 dossier/
Lister le contenu (filtré sur les fichiers .txt) :
tar tvf archive.tar.bz2 '*.txt'
Extraire :
tar jxvf archive.tar.bz2
Récapitulatif
| Format | Création | Extraction | Lister |
|---|---|---|---|
| tar | tar cvf |
tar xvf |
tar tvf |
| tar.gz | tar zcvf |
tar zxvf |
tar ztvf |
| tar.bz2 | tar jcvf |
tar jxvf |
tar jtvf |
| tar.xz | tar Jcvf |
tar Jxvf |
tar Jtvf |
Sur les versions récentes de tar, vous pouvez aussi omettre l'option de compression : tar xvf archive.tar.gz fonctionne, le format étant détecté automatiquement.