Umgang mit komprimierten Dateien

Wenn man sich eine Datei aus dem Internet kopiert hat, dann möchte man sich den Inhalt ja auch gerne zu Nutze machen. Oftmals ist aber zwischen dem Kopieren und dem Anwenden noch ein weiterer Schritt gesetzt: Das Entkomprimieren oder auch Entpacken. Um die Übertragungsdauern und die Netzlast zu verringern, werden die meisten Dateien in einem komprimierten Format angeboten. Wie und mit welchen Programmen man diese komprimierten Dateien bearbeiten kann, soll im folgenden gezeigt werden.

Vorwort

Dieser Artikel hat historischen Wert, darum wollen wir ihn gerne für Interessierte weiter zum lesen anbieten. Sie sollten jedoch am Besten zu einem Universalwerkzeug wie 7zip greifen, welches alle Formate beherrscht, nichts kostet und plattformübergereifend angeboten wird:
www.7zip.org

Inhalt

1. Komprimierte Dateien - was bedeutet das?

Wenn man auf elektronischem Wege Dateien kopieren will, dann ist dieDatenmenge häufig ein Problem. Je größer die Menge, desto länger dauert die Übertragung, und desto teurer wird es. Beim Transport von Dateien auf Diskette ist die Menge auch manchmal ein Problem, denn die Kapazität ist doch sehr beschränkt. Auch die große Anzahl der Dateien, die z.B. zu einem Programm gehören können, ist nicht gut zu handhaben. Aus diesem Grund wurden Verfahren erfunden, mit denen zum einen die Datenmenge und zum anderen die Anzahl der Dateien verringert werden kann. Dies spart dem Benutzer Zeit und meistens auch Geld in Form von Telefon-Gebühren. Daher sind nahezu alle Dateien und Programme, die im Internet und anderen elektronischen Netzen zu finden sind, mit entsprechenden Werkzeugen bearbeitet.

2. Woran erkenne ich, ob eine Datei komprimiert ist?

Ob eine Datei komprimiert ist oder nicht, erkennt man fast immer am Dateinamen, genauergesagt der Endung des Namens. Anhand der Endung kann man auch feststellen, mit welchem Programm die Datei gepackt wurde, bzw. welches Programm man zum Entkomprimieren benötigt. Eine Übersicht über die verschiedenen Endungen und die verwendeten Programme gibt Abschnitt 5. Tabelle der Dateiendungen und Programme.

3. Welche Arten von Programmen gibt es?

Grundlegend muß man zwei Sorten von Programmen unterscheiden, die Komprimier-Programme und die Archivier-Programme.

3.1 Komprimier-Programme

Komprimier-Programme haben nur einen Zweck, nämlich eine Datei zu komprimieren. Sie können nicht mehrere Dateien zu einer zusammenfassen. Von den hier angesprochenen Programmen sind gzip, compress und pack Vertreter der reinen Komprimier-Programme. Häufig werden diese Programme in Verbindung mit einem Archivier-Programm verwendet (z.B. gzip oder compress mit tar).

3.2 Archivierungs-Programme

Im Gegensatz zu den Komprimier-Programmen dienen die Archivier-Programme hauptsächlich dazu, verschiedene Dateien zu einer zusammenzufassen. Mit Ausnahme des normalen tar's können allerdings alle hier erwähnten Archivier-Programme diese auch gleich komprimieren. Eine Kombination mit reinen Komprimier-Programmen ist also nur bei tar sinnvoll.

4. Was ist Programm xyz?

Hier folgt nun eine kurze Vorstellung der meistgenutzten Programme. Über den genauen Umgang mit diesen wird in Abschnitt 6 informiert.

4.1 gzip, gunzip, zcat

Die GNU-Tools 'gzip', 'gunzip' und 'zcat' sind Tools, die auf verschiedenen Plattformen zur Verfügung stehen. Ihren Ursprung haben diese Programme auf dem Betriebssystem UNIX, wo sie auch die größte Anwendung finden.
Mit dem Kommando 'gzip' können Dateien gepackt werden. Die ungepackten Dateien werden entfernt, und für jedes eine entsprechende Datei mit der Endung '.gz' erstellt. Das Orginal wird entfernt.
Das Entpacken besorgt ein seperates Kommando: 'gunzip', welches außer mit gzip komprimierte Dateien auch solche entpacken kann, die mit pack oder compress gepackt wurden. Mit 'zcat' kann man ein gepacktes File auf die Standard-Ausgabe (meist der Bildschirm) ausgegeben werden. Das macht dann Sinn, wenn man nur schnell mal einen komprimierten Text ansehen möchte.

4.2 Info-Zip, Info-Unzip, PKZip, PKUnzip

PKZip und PKZip sind kommerzielle Programme der Firma PK-Ware. Sie sind ursprünglich für DOS geschrieben, mittlerweile jedoch auch auf anderen Plattformen vertreten. Wesentlich interessanter sind dagegen die Programme Info-Zip und Info-UnZip, die auf allen Systemen frei zur Verfügung stehen. Diese Programme sind kompatibel zu den PK-Ware Programmen und sind (zumindest unter DOS und OS/2) zum Quasi-Standard geworden. Sowohl PK-Zip als auch Info-Zip sind Kombi-Programme.

4.3 tar

tar existiert ich zwei Versionen. Zum einen legen viele Hersteller vom UNIX Betriebssystemen ihrem Betriebssystem eine Version bei. Zum anderen gibt es eine GNU Version von tar, die um einiges leistungsfähiger ist. Es kombiniert beliebig viele Datei in einem Archiv, ist für jede UNIX-Variante verfügbar und wird deshalb zusammen mit gzip sehr häufig verwendet, um Programmpakete für UNIX 'versandfähig' zu machen. untar ist im Prinzip kein Programm, denn es ist nur eine Aufruf-Variante von tar, welche aber auf vielen Systemen angeboten wird, und deswegen nicht unerwähnt bleiben soll. Alle tar-Dateien können ebenso mit tar direkt entpackt werden. Da tar ursprünglich für Backups auf Streamern gedacht war, muss man bei tar einige Besonderheiten berücksichtigen (siehe Abschnitt 6.3).

4.4 lha, lharc

Die Programme lha und lharc sind eigentlich identisch, es sind beides kombinierte Komprimier- und Archivier-Programme. Sie stehen auf verschiedenen Systemen zur Verfügung, z.B. DOS und UNIX.

4.5 compress, uncompress

compress und uncompress sind auf UNIX-Systemen beheimatet. Man findet noch relativ häufig Dateien, die mit compress komprimiert wurden (es ist wie gzip ein reines Komprimier-Programm), ohwohl auch dies in Zukunft aufgrund des größeren Funktionsumfangs und der Kompabilität von gzip wohl seltener werden wird.

4.6 ARJ, unarj

ARJ ist ein Archivier-Programm mit komprimier-Fähigkeiten. Es bietet viele Optionen an, z.B. lassen sich Archive erstellen, die sich über mehrere Speichermedien (z.B. Disketten) erstrecken. ARJ ist zwar nicht das allerschnellste Programm, erreicht aber sehr gute Komprimierungsraten. Das Programm ist nur für DOS verfügbar, aber auch auf vielen anderen Systemen kann man *.arj Dateien entpacken, wenn man das Programm unarj zur Verfügung hat.

4.7 Zoo

Der Komprimierer 'zoo' ist ein ungemein mächtiges und kompatibles Werkzeug. Einer seiner Grundsätze ist, daß mit zoo erstellte Dateien kompatibel zu sowohl allen unterstützen Plattformen, als auf zu allen Versionen von zoo sind. Ebenso wie viele andere der hier vorgestellten Programme bietet es sowohl Archivierung als auch Komprimierung.

4.8 pack, unpack

Diese beiden Programme sind hier nur noch der Vollständigkeit wegen erwähnt, da man vielleicht noch mal auf eine so komprimierte Datei stößt. Die Programme sind mittlerweile veraltet, und die Funktionen, die geboten haben sind alle in gzip und gunzip enthalten, mit denen man auch die mit pack gepackten Dateien entkomprimieren kann.

4.9 RAR, unRAR

Eine RAR-Datei wird man im Internet (noch) recht selten antreffen, jedoch wird RAR auf anderen Netzen (z.B. FIDO) und auf Mailboxen recht häufig benutzt, da es überragende Kommpressionsraten erreicht. RAR selber ist jedoch leider (und als einziges hier aufgeführtes Programm) Shareware, d.h. es darf nur einen begrenzten Zeitraum kostenlos genutzt werden. unRAR jedoch ist Freeware und wird sogar im Quellcode zur Verfügung gestellt (meist im Paket mit RAR), so daß sich wenigstens auf nahezu jedem System ein kostenloser Entpacker erstellen läßt. Ebenso wie ARJ können auch mit RAR komprimierte Archive erstellt werden.

5. Tabelle der Dateiendungen und Programme

Die folgende Tabelle gibt die Dateinamen-Endungen mit den dazugeörigen Pack- bzw. Entpack-Programmen an.
Dateiname gepackt mit entpacken mit
*.gz gzip gzip, gunzip oder zcat
*.zip Info-Zip oder PKZip Info-Unzip oder PKUnzip
*.tar tar tar
*.tgz 
*.tar.gz
tar und gzip tar und g(un)zip
*.lha lha bzw. lharc lha bzw. lharc
*.lhz lha bzw. lharc lha bzw. lharc
*.Z compress uncompress
*.tar.Z tar und compress (un)tar und uncompress
*.arj ARJ ARJ oder unarj
*.zoo Zoo Zoo
*.pak pack unpack
*.RAR RAR RAR bzw. unRAR

6. Verwendung der einzelnen Programme

In diesem Abschnitt werden jeweils die wichtigsten Funktionen der Programme beschrieben: Komprimieren/Archivieren, Entpacken, Inhalt anzeigen lassen und Hilfe aufrufen. Bei einigen Programmen, für die man-pages für UNIX-Systeme vorhanden sind, sind diese auch anwählbar.

6.1 gzip, gunzip, zcat

Für das Komprimieren ist gzip zuständig. Der dazu notwendige Kommandozeilen-Aufruf sieht so aus:
gzip <Dateiname>
wobei <Dateiname> natürlich durch den jeweiligen Dateinamen ersetzt werden muß. Anstatt eines regulären Dateinamens kann man auch sogennante Wildcards verwenden, in der Regel das *-Zeichen, welches beliebige Zeichen und auch Zeichenfolgen repräsentiert.
Entpackt werden Dateien mit gunzip. Der erforderliche Aufruf ist genauso einfach wie bei gzip:
gunzip <Dateiname>
Wer nur mal eben eine komprimierte Text-Datei anschauen will, der kann zcat benutzen:
zcat <Dateiname>
Falls eine wichtige komprimierte Datei defekt sein sollte, kann man die Daten bis zur Fehlerstelle durch
zcat <Dateiname> > Dateiname2
retten.

6.2 Info-Zip, Info-Unzip, PKZip, PKUnzip

Auch bei den Pk-Ware und Info-Zip Programmen sind die Programmaufrufe sehr einfach. Zum Komprimieren wird bei PKZip und Info-Zip einfach
zip <Archivname> <Dateiname>
eingegeben, wobei <Archivname> der Name des zu erstellenden Archivs ist und <Dateiname> auch mehrere Namen hintereinander (durch Leerzeichen getrennt) und auch Wildcards enthalten kann. Die Endung .zip wird automatisch an den Archivnamen angehängt, muß also nicht mit angegeben werden (wenn man es trotzdem macht, dann bewirkt das keinerlei Änderung).
Das Entpacken geschieht mit PKUnzip oder Info-Unzip indem man folgendes eingibt:
unzip <Archivname> <Dateiname>
Wird Dateiname weggelassen, dann wird das komplette Archiv entpackt, wenn angegeben, dann wird nur diese Datei ausgepackt. Wer wissen möchte welche Dateien in einem Archiv sind, der kann den Inhalt mit
unzip -v <Archivname>
angezeigt bekommen. Eine Kurz-Hilfe bekommt man sowohl bei zip als auch bei unzip, wenn man den Befehl ohne Optionen und Parameter aufruft.

6.3 tar

Will man mit tar gepackte Archive entpacken, dann muß man folgendes eingeben:
tar xvf <Archivname> <Dateiname>
Dabei steht das x für "eXtract" und das f für "File". Diese File-Angabe muß man bei tar immer benutzen, da es sonst auf ein Bandlaufwerk zugreifen will, welches jedoch nur in den seltensten Fällen vorhanden bzw. zugänglich ist.
Man kann anstelle eines Files aber auch ein beliebiges UNIX Device angeben. So liest man z.B. mit
tar xvf /dev/floppy/c0t1d0 <Dateiname>
ein Archiv direkt von einer eingelegte Diskette.
Die Dateinamen-Angabe kann auch weggelassen werden, dann wird das gesamte Archiv entpackt.
Um den Inhalt einer tar-Datei anzeigen zu lassen ruft man
tar tvf <Archivname>
auf, und man bekommt alle Dateien, die sich im Archiv befinden aufgelistet.
Neue Archive werden durch den Aufruf
tar cvf <Archivname> <Dateiname>
erzeugt. Dateiname kann dabei auch Wildcards enthalten oder ein Verzeichnisname sein, wobei dann das Verzeichnis mit allen Unterverzeichnissen eingepackt wird. Um ein so erstelltes Archiv nachträglich zu erweitern muß jedoch stattdessen
tar rvf <Archivname> <Dateiname>
eingegeben werden.
Die GNU Version von tar, die man meistens als gtar aufrufen kann, kann auch gleich gzip aufrufen und das tar Archiv komprimieren:
gtar cvfz <Archivname> <Dateiname>
Die Komprimierung wird durch die z Optionen eingeschaltet.

6.4 lha, lharc

Um eine oder mehrere Dateien zu komprimieren benutzt man das 'add' Kommando von lha. Der Aufruf sieht folgendermaßen aus:
lharc a <Archivname> <Dateiname>
Auch hier darf Dateiname Wildcards oder Verzeichnisnamen beinhalten. Um Dateien eines lha-Archivs zu entpacken muß man eingeben
lharc x <Archivname> <Dateiname>
Läßt man Dateiname weg, dann wird wird das gesamte Archiv entpackt. Die Option 'l' zeigt den Inhalt eines lha-Archivs an:
lharc l <Archivname>

6.5 compress, uncompress

Mit compress gepackte Dateien können mit gunzip entpackt werden, daher hier keine weiteren Erklärungen.

6.6 ARJ, unarj

ARJ erledigt eigentlich sowohl die Komrimierung als auch das Entpacken von Archiven. Da ARJ jedoch nur auf DOS verfügbar ist muß man auf anderen Systemen zum Entpacken unarj verwenden. Erstellt werden Archive mit ARJ folgendermaßen:
ARJ -a <Archivname> <Dateiname>
wobei auch hier statt regulärer Dateinamen auch Wildcards verwendet werden können. Der umgekehrte Vorgang, das Entpacken, geht so:
ARJ -x <Archivname> <Dateiname>
Wenn <Dateiname> weggelassen wird, dann entpackt ARJ das gesamte Archiv. Eine Übersicht über den Inhalt eines Archivs erhält man mit
ARJ -l <Archivname>

6.7 Zoo

Um eine oder mehrere Dateien zu komprimieren benutzt man das 'add' Kommando von zoo. Der Aufruf sieht folgendermaßen aus:
zoo -add <Archivname> <Dateiname>
Will man ein Archiv entpacken, so lautet der Befehl 'extract':
zoo -extract <Archivname> <Dateiname>
Ohne Dateiname werden alle im Archiv enthaltenen Dateien entpackt. Eine Liste der Dateien in einem Archiv erhält man durch den Aufruf
zoo -list <Archivname>

6.8 pack, unpack

Da diese Programme kaum noch benutzt werden hier nur eine kurze Anleitung zum Entkomprimieren einer mit pack gepackten Datei:
unpack <Dateiname>

6.9 RAR, unRAR

Das Erstellen eines Archivs mit RAR wird über eine Benutzeroberfläche abgewickelt, daher gibt es hier keine weiteren Angaben. das Entpacken mit unRAR funktioniert wie bei den meisten anderen Programmen mit den einfachen Aufruf
unrar <Archivname>

7. Weitere Informationen

Zu fast allen UNIX-Programmen gibt es eine Online-Anleitung, die sogenannten man-pages. Durch den Aufruf von
man <Programmname>
wird die jeweilige Hilfe aufgerufen. Und für alle Programme gilt: In den meisten Fällen hilft auch das Aufrufen des Programms ohne jegliche Parameter weiter, da dann meist eine Kurz-Hilfe ausgegeben wird.