Dans les scripts shell, il est toujours utile de savoir manipuler correctement les commandes courantes de compression comme bzip2, gzip et tar, et notamment leurs interactions possibles avec l'entrée standard (stdin) et la sortie standard (stdout). L'avantage d'utiliser cette méthode est qu'elle est compatible avec tous les systèmes *NIX !

Créer des archives

On utilise l'option c(reate) de tar dont le résultat est envoyé dans un pipe vers gzip ou bzip2. La redirection > permet d'envoyer le résultat final dans un fichier :

   tar cv file1 [file2] ... | gzip > archname.tar.gz
tar cv file1 [file2] ... | bzip2 > archname.tar.bz2

Décompacter des archives

   gzip -cd archname.tar.gz | tar xv
bzip2 -cd archname.tar.bz2 | tar xv

Lire le contenu d'une acrhive

   gzip -cd archname.tar.gz | tar tv
bzip2 -cd archname.tar.bz2 | tar tv

NOTA BENE

Le programme tar peut parfois pointer par défaut sur un device prédéfini (comme un magnéto à bande) si l'option f n'est pas précisée. Sur certains systèmes il faut donc préciser f - pour forcer tar à orienter vers l'entrée / sortie standard. Exemple :

tar cvf - file1 [file2] ... | gzip > archname.tar.gz