Ordner mittels tar und gzip komprimieren

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.

6 Kommentare » Schreibe einen Kommentar

  1. 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

  2. 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.

  3. 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?

Schreibe einen Kommentar zu Björn Antworten abbrechen

Pflichtfelder sind mit * markiert.