Möchte man unter Linux auf dem Terminal einen Ordner mittels tar und gzip komprimieren, so ist dies mit zwei Befehlen erledigt:
tar cvwf data.tar data
Damit wird der Ordner data in eine Tar-Datei archiviert. Bei den Buchstaben nach dem Befehl handelt es sich um die gewünschten Optionen (create, verbose, interactive, file). Eine Tar-Datei ist nicht komprimiert, da das Tar-Format die Daten der Dateien einfach hintereinander in der Tar-Datei anordnet. Zur Kompression der Tar-Datei wird gzip genutzt:
gzip -9 data.tar
Damit wird die Datei mittels gzip gepackt und trägt anschließend den Namen data.tar.gz. Das -9 teilt gzip mit, das die höchste Kompressionsstufe genutzt werden soll.
So habe ich das auch noch nie gemacht. Ist ja auch nicht schön, schließlich produziert man da eine temporäre Datei. Also entweder mittels Pipe direkt aus tar an gzip weiterleiten oder doch den üblichen Weg nehmen:
$ tar -caf data.tar.gz data
Oder wenn man unbedingt den höchsten Kompressionslevel haben möchte:
$ GZIP=-9 tar -caf data.tar.gz data
Wobei man eine stärkere Kompression mittels xz erreicht:
$ tar -caf data.tar.xz data
Euch beiden ist schon klar, daß weder das eine noch das andere besonders sinnvoll ist ?
Das geht so in einem Befehl : tar czvf data.tgz data
Alternativ mit Pipe und BZIP2 : tar c data | bzip2 > data.bz2
Warum sollte meins nicht besonders sinnvoll sein?
-c → create
-a → Use archive suffix to determine the compression program.
-f → Use archive file
Verbose nutze ich meistens nicht, ich weiß ja, was ich komprimieren will. Und ob man Unix oder Gnu (-c -a -f bzw. caf) nutzt, ist Geschmackssache.
Was bitte ist ein Ordner? Ich hab hier nur Verzeichnisse.
Amateure!
Danke SammysHP. Den Parameter ‚a‘ kannte ich noch nicht. Ich hatte es immer wie Traver gemacht und ‚z‘ für gzip bzw. ‚j‘ für bzip2 verwendet. Ist xz besser als 7z?