bzip2 gzip tar avec stdin et stdout
Par guillaume le mardi 3 mai 2011, 15:39 - linux - Lien permanent
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