====== tar ======
{{tag>"linux commande"}}

----

===== Comparaison des résultats des archives =====

Les archives **tar** ont une taille différentes suivant les options de compression utilisée. Par exemple, un dossier **html** contenant des fichiers **HTML**, **CSS** et **JS** :

^ archive  ^ taille (octets)  ^
| tar      | 40960            |
| tar.gz   | 6200             |
| tar.bz2  | 6003             |
| tar.xz   | 5656             |

Voyons les commandes et options possibles.

===== tar sous Liunx : compresser et décompresser =====

Pour __créer une archive__ **tar** __d'un ou plusieurs fichiers__, on utilise la syntaxe

  tar cvf archive.tar fichier1 fichier2...

--

Pour __créer une archive__ **tar** __d'un dossier__, on utilise la syntaxe
  tar cvf archive.tar dossier/
  
Le chemin complet de **dossier** sera copié dans l'archive. Attention à la décompression.


--

Pour __extraire les fichiers d'une archive__ **tar**, on utilise la syntaxe 
  tar xvf archivedossier.tar

--

Pour __afficher le contenu d'une archive__, on utilise la syntaxe

  tar tvf archivedossier.tar

===== tar.gz sous Liunx : compresser et décompresser =====

La manipulation des archives **tar.gz** s'effectue systématiquement avec l'option **z**.

--

Pour __créer une archive__ compressée **tar.gz** __d'un ou plusieurs fichiers__, on utilise la syntaxe avec l'option **c**
  tar zcvf archive.tar.gz fichier1 fichier2...

Pour __créer une archive__ compressées **tar.gz** __d'un dossier__, on utilise la syntaxe la même syntaxe
  tar zcvf archive.tar.gz dossier/
  
--

Pour __créer une archive__ compressée **tar.gz** d'un ou plusieurs fichiers sans les informations de **l'owner** et du **groupe** renseignée, on utilise la syntaxe suivante :

  tar zcvf archive.tar.gz . --owner=0 --group=0
  
Il faudra veiller à laisser des instructions pour attribuer des droits.
  
--

Pour __extraire les fichiers__ d'une archive compressée tar.gz, on utilise la syntaxe avec l'option **x**
  tar zxvf archivedossier.tar.gz

--

Pour __afficher le contenu__ d'une archive, on utilise la syntaxe avec l'option **t**

  tar ztvf archivedossier.tar.gz


--

Pour __supprimer un fichier__ dans l'archive, on utilise la syntaxe avec l'option **delete**

  tar zvf archivedossier.tar.gz --delete your/path/to/delete
  
  
 
  
===== tar.xz sous Liunx : compresser et décompresser =====

Pour __créer une archive__ compressée **tar.xz** __d'un ou plusieurs fichiers__, on utilise la syntaxe
  tar Jcvf archive.tar.xz fichier1 fichier2...

--

Pour __créer une archive__ compressées **tar.xz** __d'un dossier__, on utilise la syntaxe
  tar Jcvf archive.tar.xz dossier/
  
--

Pour __extraire les fichiers__ d'une archive compressée tar.xz, on utilise la syntaxe
  tar Jxvf archivedossier.tar.xz
  

===== tar.bz2 sous Liunx : compresser et décompresser =====

Pour __créer une archive__ compressée **tar.bz2** __d'un ou plusieurs fichiers__, on utilise la syntaxe 

<code>
tar jcvf archive.tar.bz2 fichier1 fichier2…
</code>

--

Pour __créer une archive__ compressées **tar.bz2** __d'un dossier__, on utilise la syntaxe 

<code>
tar jcvf archive.tar.gz dossier/
</code>

--

Pour __afficher le contenu__  **tar.bz2** d'une archive, on utilise la syntaxe


  tar tvf archive.tar.bz2 '*.txt'
  
 ---

Pour __extraire les fichiers__ d'une archive compressée **tar.bz2**, on utilise la syntaxe
  tar Jxvf archivedossier.tar.bz2

