Ich möchte mehrere Bilder in ein .xz-Archiv komprimieren. Wie mache ich das?
Akzeptierte Antwort:
Obwohl tar cJf archive files...
wie von Zacharee1 und heemayl beschrieben, ist normalerweise das, was Sie tun möchten, eine andere Möglichkeit besteht darin, getarrte Daten an xz
zu leiten Befehl:
tar c files... | xz > archive.tar.xz
Da Ubuntus tar
unterstützt den J
Option, ist dieser alternative Weg besonders nützlich, wenn Sie Optionen an xz
übergeben möchten .
In diesem Beispiel tare und xkomprimiere ich einige TIFF-Dateien mit einem hohen Komprimierungsgrad (-9
zu xz
) und eine ausführliche Ausgabe (v
zu tar
, -v
zu 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
Dies könnte natürlich auch in zwei explizit getrennten Schritten erfolgen:
[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
Diese beiden Möglichkeiten sind in ihrer Funktionsweise nicht wirklich gleichwertig, obwohl .tar.xz
Dateien, die sie am Ende produzieren, sollten die gleichen sein (und waren es, als ich es getestet habe).
- Im ersten die Ausgabe von
tar
wird geleitet (|
) an die Eingabe vonxz
.xz
empfängt Daten vontar
fast sofort, und es wird niemals eine unkomprimierte tar-Zwischendatei erstellt. Das heißt, dass der erste Weg im Wesentlichen äquivalent zutar cJf archive files...
, mit Ausnahme der zusätzlichen Argumente, die anxz
übergeben werden . - Im zweiten wird ein unkomprimiertes tar-Archiv durch den ersten Befehl erstellt und dann durch
xz
komprimiert im zweiten Befehl. (xz
löscht automatisch die Originaldatei, wenn es fertig ist, es sei denn, es wird mit-k
aufgerufen /--keep
.)
Weitere Informationen finden Sie in diesem Beitrag von Rafael van Horn und dem tar
und xz
Hilfeseiten.