Quiero comprimir varias imágenes en un archivo .xz. ¿Cómo puedo hacer eso?
fuente
Quiero comprimir varias imágenes en un archivo .xz. ¿Cómo puedo hacer eso?
Aunque según lo detallado por Zacharee1 y por heemayl es generalmente lo que querrá hacer, otra forma es canalizar datos tarrados al comando:tar cJf archive files...
xz
tar c files... | xz > archive.tar.xz
Dado que Ubuntu tar
admite la J
opción, esta forma alternativa es especialmente útil cuando desea pasar opciones a xz
.
En este ejemplo, tar y xzip algunos archivos TIFF con un alto nivel de compresión ( -9
a xz
) y salida detallada ( v
a tar
, -v
a 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
Esto, por supuesto, también se puede hacer 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 no son realmente equivalentes en su funcionamiento, aunque los .tar.xz
archivos que producen al final deberían ser los mismos (y lo fueron, cuando lo probé).
tar
se canaliza ( |
) a la entrada de xz
. xz
recibe datos tar
casi de inmediato y nunca se crea un archivo tar sin comprimir intermedio. Esto quiere decir que la primera forma es esencialmente equivalente atar cJf archive files...
, excepto por los argumentos adicionales pasados a xz
.xz
en el segundo comando. ( xz
elimina automáticamente el archivo original cuando está hecho, a menos que se invoque con -k
/ --keep
.)Para la lectura adicional, vea este mensaje por Rafael van Horn y el tar
y xz
páginas de manual.
tar -J
es especificar la variable de entornoXZ_OPT
, haciendo que la invocación sea algo como:XZ_OPT="-9v" tar -Jcf out.tar.xz [files]
Usar
tar
con la-J
opción:tar
se usa para combinar varios archivos en uno (Archivo) y luego necesitamos comprimir el archivo usando el algoritmo de compresión XZ.De
man tar
:También tenga en cuenta que
images.tar.xz
se creará en el directorio actual, si desea guardarlo en otro lugar, use/full/path/to/images.tar.xz
.fuente
xz
es el más lento entrexz
,gzip
,bzip2
debido a su relación de compresión más alta que la lentitud others..the es digno de tratar si quieres más de compresión ..Utilice este comando:
tar cJf <archive.tar.xz> <files>
. Separe las rutas de archivo con un espacio.fuente
-cfJ
-
en el frente ... deman tar
:A function letter need not be prefixed with ``-''
... así quetar cJf
está absolutamente bien.tar cJf
, que daría OP otra forma de hacer esto como mi respuesta ya cubiertotar --cvJf
en un primer momento ..