Archive unter Linux (tar, gz, bz2, zip)
Habt ihr auch häufger das Problem, dass ihr euch nicht mehr an alle Parameter und deren Reihenfolge erinnert, wenn ihr in nach einiger Zeit wieder benötigt? So geht es mir immer wieder mit einzelnen Befehlen. Immer wieder gerne dann, wenn ich eine kleine Sicherung vor einem Update durchführen möchte. Deshalb hier eine Auflistung der wichtigesten befehle zum Packen und Entpacken eines Archivs.
tar
Entpacken eines Archivs:
tar xfv archive.tar (x = extract, f = file, v = verbose)
Dateien/Ordner in ein Archiv packen:
tar cfv archive.tar folder1 folder2 file3 (c = create)
Komprimierte Archive erstellen (die einzelnen Dateien werden mit gzip
gepackt und dann als Tarball zusammengefasst):
tar cfzv archive.tar folder1 folder2 file3 (z = komprimieren)
Inhalt eines Archivs auflisten:
tar tfv archive.tar (t = auflisten)
gzip
Da gzip nur einzelne Dateien komprimieren kann, werden mehrere Dateien bzw. Verzeichnisbäume üblicherweise zunächst mit tar zu einer Tarball genannten Archivdatei zusammengefasst, welche anschließend mit gzip komprimiert wird.
Eine Datei komprimieren
gzip file
Rekursiv alle Dateien in einem Verzeichnis packen, und die Kompressionsrate ausgeben. Achtung, jede Datei wird einzeln gepackt – es wird keine gemeinsames Archiv für alle Dateien erstellt:
gzip -rv folder1 (r = rekursiv, v = verbose)
Ergbnis: file.gz
Datei dekomprimieren:
gunzip file
mehrer Dateien konkatenieren und in einem komprimierten Archiv sichern:
gzip -c file1 > archive.gz (c = schreibt nach Standard Output) gzip -c file2 > archive.gz
Alternativ mit besserer Komprimierung
cat file1 file2 | gzip > archive.gz
Ergebnis: archive.gz
bz2
Zum Beispiel sehr gut geeignet, um einen SQL Datenbank Dump zu komprimieren. Bei mir hat sich dadurch eine Komprimierung um den Faktor 20 herum ergeben.
Eine Datei komprimieren
bzip2 file.sql
Ergebnis: file.sql.bz2
Datei dekomprimieren:
bunzip2 file.sql.bz2
Dateien in einem komprimierten Archiv zusammenfassen:
tar cfvj archive.tar.bz2 file1 file22
Ergebnis: archiv.tar.bz2
Archiv dekomprimieren und auspacken:
tar xfvj archiv.tar.bz2
zip
Einzelne Dateien in einem komprimierten Archiv zusammenfassen:
zip archive.zip file1 file2
Komplette Ordner in einem komprimierten Archiv zusammenfassen:
zip -r archive.zip folder1 folder2 folder3
Komprimiertes Archiv entpacken:
unzip archive.zip
Inhalt eines komprimierten Archivs anzeigen:
unzip -l archive.zip
Für weitere Optionen, lesen Sie bitte die entsprechende MAN Page des Programms:
man tar man gzip man zip