12. November 2019

Komprimierte Archive unter Linux, ZIP, TAR ,GZ ,BZ2, 7z, …

Informationen:

Komprimierte Archive sind nichts anderes als Verzeichnisse mit darin enthaltenen Dateien deren Größe durch Kompression verkleinert wurden. Unter Microsoft Windows ist das bekannteste Format das ZIP-Format, es gibt jedoch unendlich viele dieser Arten von Dateien – so gibt es beispielsweise RAR, 7ZIP, GZIP, BZIP2, TAR und viele mehr. Auch DEB– oder RPM-Dateien der Paket-Verwaltungen unter Linux oder selbst EXE-Dateien von Windows sind nichts anderes als komprimierte Archive.

Je nachdem welche Formate von komprimierten Archiven man erstellen oder entpacken möchte benötigt man die zugehörigen Anwendungen die man sich einfach über die oben schon genannte Paket-Verwaltung installieren kann, die nötigsten sind jedoch meist schon automatisch durch das System installiert, so etwa ZIP, GZIP, BZIP2 oder TAR.

Welche Software benötigt man für welche Archive?

Ich werde hier auch diese Software-Pakete aufzählen die normalerweise sowieso mit dem System installiert (siehe Paket-Verwaltung) sind damit man diese erkennt.

Archiv-FormatDatei-EndungPakete
ZIP.zipzip unzip
TAR.tartar
GZIP.gzgzip
BZIP2.bz2bzip
RAR.rarunrar unrar-nonfree
7ZIP.7zp7zip p7zip-full p7zip-rar
TAR.GZ.tar.gztar gzip
TAR.BZtar.bz2tar bzip

Sind nur diese Anwendungen installiert kann man damit nur auf dem Terminal komprimierte Archive erstellen und entpacken, um dies auch auf der grafischen Oberfläche tun zu können benötigt man die dazu fähigen Programme. Unter der Desktop-Umgebung KDE ist bereits die Software Ark (Paket “ark“) installiert wie unter GNOME File Roller (Paket “file-roller“), nutzen Sie eine andere Desktop-Umgebung ist es am einfachsten die Software Xarchiver (Paket “xarchiver“) zu installieren. Klickt man ein solches komprimiertes Archiv an öffnet sich automatisch die zugehörge Software, ebenfalls wenn man eine Datei oder ein Verzeichnis rechts anklickt und Komprimieren wählt. Hierzu muss man nicht viel mehr schreiben.

Komprimieren und Entpacken auf dem Terminal

Möchte man auf dem Terminal komprimierte Archive erstellen oder entpacken – dies ist etwa auf einem Server ohne grafische Oberfläche üblich (und geht um einiges schneller als wenn man unzählige Dateien hoch oder herunter lädt) muss man natürlich die entsprechenden Befehle kennen. Diese werden wir nun für die einzelnen Anwendungen kennen lernen.

Gzip – .gz

GZIP-Dateien findet man unter Linux am häufigsten im System selbst, so werden etwa Dokumentationen oder einfache Textdateien im System abgelegt um Platz zu sparen. GZIP kann nur eine einzelne Datei komprimieren. Die Syntax zum Entpacken der Datei Dateiname.txt.gz:

gzip -d Dateiname.txt.gz

Will man alle GZIP-Dateien im Verzeichnis auf einem Mal entpacken:

gzip -d *.gz

Um etwa die Datei Dateiname.txt zu komprimieren:

gzip Dateiname.txt

Oder die Dateien Dateiname.txt Dateiname-1.txt Dateiname-2.txt:

gzip Dateiname.txt Dateiname-1.txt Dateiname-2.txt

Oder alle Text-Dateien (keine Verzeichnisse, solche kann GZIP nicht komprimieren) im Verzeichnis:

gzip *.txt

Bzip2 – .bz2

Bzip2 kann wie Gzip nur eine einzelne Datei komprimieren, die Rate der Komprimierung ist etwas höher als bei Gzip – trotzdem wird es im System eher selten eingesetzt. Um nun etwa die Datei Dateiname.txt.bz2 zu entpacken:

bzip2 -d Dateiname.txt.bz2

Die selbe Geschichte mit allen Bzip-Dateien im Verzeichnis:

bzip2 -d *.bz2

Oder um die Datei Dateiname.txt zu komprimieren:

bzip2 Dateiname.txt

Dies funktioniert natürlich auch mit allen JPG-Dateien im Verzeichnis:

bzip2 *.jpg

Tar – .tar

Anders als GZIP und BZIP2 kann TAR auch mehrere Dateien oder ein ganzes Verzeichnis mit Unterverzeichnissen packen – jedoch nicht komprimieren, dazu kommt später TAR in Verbindung mit GZIP oder BZIP2 im Zusammenspiel zum Einsatz. Nun will ich beispielsweise das Archiv Komprimiert.tar aus dem Verzeichnis Verzeichnis erstellen:

tar -cf Komprimiert.tar Verzeichnis/

Oder die Dateien Datei-1.png Datei-2.png Datei-3.pdf in das zu erstellende Archiv Archiv.tar packen:

tar -cf Archiv.tar Datei-1.png Datei-2.png Datei-3.pdf

Um das Archiv Archiv.tar zu entpacken:

tar -xf Archiv.tar

Oder um die Datei Datei.pdf zum bestehenden Archiv Archiv.tar hinzuzufügen:

tar -rf Archiv.tar Datei.pdf

Um den Inhalt des Archives Archiv.tar nur anzuzeigen und nicht zu entpacken:

tar -tvf Archiv.tar

Tar.gz – .tar.gz & Tar.bz2 – .tar.bz2

Bisher haben wir nur einzelne Dateien komprimiert oder mehrere Dateien oder ein Verzeichnis unkomprimiert in ein Archiv gepackt. Um nun mehrere Dateien oder auch ein Verzeichnis mit TAR zu komprimieren kommt TAR im Zusammenspiel mit GZIP oder BZIP2 zum Einsatz, wie schon beschrieben komprimiert BZIP2 besser. Alle bestehenden Optionen kann man schon von TAR selbst entnehmen, einzufügen sind nur noch die Optionen “-z” um mit GZIP und “-j” um mit BZIP2 zu komprimieren. Wollen wir also das Archiv Archiv.tar.gz entpacken:

tar -xvzf Archiv.tar.gz

Oder die Dateien Datei1.txt Datei2.jpg in das Archiv Archiv.tar.gz zu komprimieren:

tar -cjvf Archiv.tar.gz Datei1.txt Datei2.jpg

Das selbe mit dem Verzeichnis Verzeichnis:

tar -cjvf Archiv.tar.gz Verzeichnis/

Die selbe Geschichte mit einem BZIP2-Archiv:

tar -xcvf Archiv.tar.bz2
tar -czvf Archiv.tar.bz2 Datei1.txt Datei2.jpg
tar -czvf Archiv.tar.bz2 Verzeichnis/

Zip – .zip

Mit ZIP lassen sich die unter Windows bekanntesten komprimierten Archive entpacken oder erstellen. Als Beispiel wollen wir das Archiv Archiv.zip aus den Dateien Datei-1.txt Datei-2.PDF erstellen:

zip Archiv.zip Datei-1.txt Datei-2.PDF

Oder aus dem Verzeichnis Verzeichnis:

zip Archiv.zip Verzeichnis/

Um nun das selbe Archiv mit einem Passwort zu schützen durch das Passwort Passwort:

zip -p Passwort Archiv.zip Verzeichnis/

Jetzt wollen wir noch das Archiv Archiv.zip entpacken, ist es durch ein Passwort geschützt wird dieses automatisch abgefragt:

unzip Archiv.zip

Rar – .rar

RAR-Dateien sind besonders oft im Torrent-Bereich zu finden, ob legale Dateien oder nicht. Als erstes wollen wir das Archiv Archiv.rar entpacken:

unrar e Archiv.rar

Wird dieses durch ein Passwort geschützt wird dieses automatisch abgefragt. Wir erstellen aus dem Verzeichnis Verzeichnis das Archiv Archiv.rar:

rar a Archiv.rar Verzeichnis/

Oder das Archiv Archiv.rar aus den Dateien Datei1.jpg Datei2.odt:

rar a Archiv.rar Datei1.jpg Datei2.odf

Um sich den Inhalt des Archives Archiv.rar anzusehen ohne dieses zu entpacken:

rar l Archiv.rar

Um das zu erstellende Archiv Archiv.rar mit dem Passwort Passwort zu schützen:

rar a -p Archiv.rar Verzeichnis/

Hierbei wird nun das zu vergebende Passwort zweimalig abgefragt.

7zip – .7z

7ZIP ist extrem komplex und ich denke nicht das es sich jemand antun wird damit ein Archiv mit allen Möglichkeiten auf dem Terminal zu erstellen, daher verweise ich auf die Manpage mit dem Befehl:

man 7z

Ganz einfach erstellt man ein Archiv damit – etwa aus dem Verzeichnis Verzeichnis das Archiv Archiv.7z:

7z a Archiv.7z Verzeichnis/

Um das Archiv Archiv.7z zu entpacken:

7z e Archiv.7z

Um sich den Inhalt des Archives nur anzusehen ohne die Dateien zu entpacken:

7z l Archiv.7z

Es geht auch einfacher

Es wäre nicht die Welt der freien Software wenn sich nicht jemand darüber Gedanken gemacht hätte um mit allen Programmen umgehen zu können ohne alle Befehle zu können, die jeweilige Software muss jedoch installiert sein. Man installiert sich über die Paket-Verwaltung das Paket “atool“, es kann mit allen diesen Formaten umgehen. Als Beispiel wollen wir das Archiv Archiv.tar.bz2 entpacken:

aunpack Archiv.tar.bz2

Oder:

aunpack Archiv.7z

Nun wollen wir aus dem Verzeichnis Verzeichnis das Archiv Archiv.zip erstellen:

apack Archiv.zip Verzeichnis/

Oder uns den Inhalt des Archives Archiv.tar ansehen:

als Archiv.tar

25 total views, 2 views today

Avatar

Robert Goedl

Linux-User seit dem Jahr 2000, Debian ist die von mir genutzte Distribution (Sid Unstable) Lebe in Graz, der Hauptstadt der Steiermark in Österreich

Alle Beiträge ansehen von Robert Goedl →

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.