
Quiero comprimir varias imágenes en un archivo .xz. ¿Cómo puedo hacer eso?
Respuesta1
Usar tar
con -J
opción:
tar -cvJf images.tar.xz /directory/containing/images/*
tar
se usa para combinar varios archivos en uno (Archivo) y luego necesitamos comprimir el archivo usando el algoritmo de compresión XZ.
Deman tar
:
-c, --create
create a new archive
-v, --verbose
verbosely list files processed
-J, --xz
-f, --file ARCHIVE
use archive file or device ARCHIVE
También tenga en cuenta que images.tar.xz
se creará en el directorio actual; si desea guardarlo en otro lugar, utilice /full/path/to/images.tar.xz
.
Respuesta2
aunque comotar cJf archive files...
detallado por Zacharee1ypor heemaylnormalmente es lo que querrás hacer, otra forma es canalizar datos tareados alxz
dominio:
tar c files... | xz > archive.tar.xz
Desde Ubuntutar
admite la J
opción, esta forma alternativa es específicamente útil cuando desea pasar opciones a xz
.
En este ejemplo, tar y xzip algunos archivos TIFF con un alto nivel de compresión ( -9
to xz
) y salida detallada ( v
to tar
, -v
to xz
):
ek@Io:~/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
Por supuesto, esto también podría hacerse en dos pasos explícitamente separados:
ek@Io:~/Pictures$ tar vcf pics.tar *.tif{,f}
page001.tif
page002.tif
page003.tif
page004.tif
page9087.tif
page3la.tiff
quux0000.tiff
ek@Io:~/Pictures$ xz -9v pics.tar
pics.tar (1/1)
100 % 207.3 KiB / 290.0 KiB = 0.715
Esas dos formas en realidad no son equivalentes en cómo funcionan, aunque los .tar.xz
archivos que producen al final deberían ser los mismos (y lo eran cuando lo probé).
- En el primero, elproducciónde
tar
escanalizado(|
) haciaaportedexz
.xz
recibe datostar
casi de inmediato y nunca se crea ningún archivo tar intermedio sin comprimir. Es decir que la primera forma es esencialmente equivalenteatar cJf archive files...
, excepto por los argumentos adicionales pasados axz
. - En el segundo, el primer comando crea un archivo tar sin comprimir y luego lo comprime con
xz
el segundo comando. (xz
borra automáticamente el archivo original cuando finaliza, a menos que se invoque con-k
/--keep
).
Para más lecturas, consulteesta publicación de Rafael van Horny las páginas de manual tar
y xz
.
Respuesta3
Utilice este comando: tar cJf <archive.tar.xz> <files>
. Separe las rutas de los archivos con un espacio.