Je souhaite compresser plusieurs images dans une archive .xz. Comment faire ?
Réponse acceptée :
Bien que tar cJf archive files...
comme détaillé par Zacharee1 et par heemayl est généralement ce que vous voudrez faire, une autre façon est de diriger les données tarrées vers le xz
commande :
tar c files... | xz > archive.tar.xz
Depuis le tar
d'Ubuntu prend en charge le J
, cette autre méthode est particulièrement utile lorsque vous souhaitez passer des options à xz
.
Dans cet exemple, j'ai tar et xzip certains fichiers TIFF avec un haut niveau de compression (-9
à xz
) et une sortie détaillée (v
à tar
, -v
à xz
):
[email protected]:~/Pictures$ tar vc *.tif{,f} | xz -9v > pics.tar.xz
page001.tif
page002.tif
page003.tif
page004.tif
page9087.tif
page3la.tiff
quux0000.tiff
100 % 207.3 KiB / 290.0 KiB = 0.715
Cela pourrait, bien sûr, également être fait en deux étapes explicitement distinctes :
[email protected]:~/Pictures$ tar vcf pics.tar *.tif{,f}
page001.tif
page002.tif
page003.tif
page004.tif
page9087.tif
page3la.tiff
quux0000.tiff
[email protected]:~/Pictures$ xz -9v pics.tar
pics.tar (1/1)
100 % 207.3 KiB / 290.0 KiB = 0.715
Ces deux méthodes ne sont pas réellement équivalentes dans leur fonctionnement, bien que le .tar.xz
les fichiers qu'ils produisent à la fin devraient être les mêmes (et l'étaient quand je l'ai testé).
- Dans le premier, la sortie de
tar
est canalisé (|
) à l'entrée dexz
.xz
reçoit des données detar
presque immédiatement, et aucun fichier tar intermédiaire non compressé n'est jamais créé. C'est-à-dire que la première méthode est essentiellement équivalente àtar cJf archive files...
, à l'exception des arguments supplémentaires passés àxz
. - Dans la seconde, une archive tar non compressée est créée par la première commande, puis compressée par
xz
dans la deuxième commande. (xz
supprime automatiquement le fichier d'origine lorsqu'il est terminé, sauf s'il est invoqué avec-k
/--keep
.)
Pour en savoir plus, consultez cet article de Rafael van Horn et le tar
et xz
pages de manuel.