Um Speicherplatz zu sparen und/oder mehrere Dateien in einer zu verstauen, kann man Dateien komprimieren bzw. archivieren. Die folgende Tabelle listet die üblichen Archivtypen nebst Beispielen zur Kompression/Dekompression auf:
| Endung | Dateityp | dazugehöriges Programm | Packen | Entpacken |
|---|---|---|---|---|
| .zip | Zip-Archiv | zip, unzip | zip -r -9 archiv.zip [Dateiliste] | unzip archiv.zip |
| .rar | RAR-Archiv | unrar | (proprietär) | unrar x archiv.rar |
| .gz | Gzip-komprimierte Datei | gzip, gunzip | gzip -v9 datei.txt | gunzip datei.txt.gz |
| .bz2 | Bzip2-komprimierte Datei | bzip2, bunzip2 | bzip2 datei.txt | bunzip2 datei.txt.bz2 |
| .tar | TAR-Archiv | tar | tar -cvf archiv.tar [Dateiliste] | tar -xvf archiv.tar |
| .cpio | CPIO-Archiv | cpio | ls | cpio -ov > archiv.cpio | cpio -idv < archiv.cpio |
ZIP
Zip-Archive sind kompatibel zu den schon bei MS-DOS weit verbreiteten Archiven des Programms PKZIP. Für den Austausch zwischen verschiedenen Systemen (z.B. MS Windows)
sind sie aufgrund der weiten Verbreitung am unproblematischsten. Da UNIX-Dateirechte im Zip-Archiv nicht gespeichert werden, ist der Nutzen unter FreeBSD, Linux, usw. aber
beschränkt. Für Backups sind Zip-Archive also eher ungeeignet. Für E-Mail-Anhänge sind sie aber ideal.
RAR
RAR ist ein umfangreiches, kommerziell vertriebenes Archivierungsprogramm. Nur der Entpacker ist frei erhältich.
Gzip
Gzip komprimiert Dateien einzeln nach dem LZ77-Algorithmus. An der Kommandozeile können mehrere Dateien angegeben werden, die alle einzeln komprimiert und mit der Endung
.gz versehen werden. Die Originaldatei wird nach erfolgreicher Kompression gelöscht. Dateirechte werden einfach von der Originaldatei übernommen, werden also nicht mitarchiviert!
Bzip2
Bzip2 arbeitet analog zu gzip, d.h. Dateien werden einzeln komprimiert, Dateirechte nicht mitgespeichert.
Der Kompressionsalgorithmus von bzip2 basiert auf der Burrows-Wheeler-Transformation. Die Kompressionsrate ist bei großen Dateien im Allgemeinen besser als bei gzip, dafür
ist der Kompressionsalgorithmus langsamer.
TAR
Der Name steht für "TApe Archive", d.h. tar war usprünglich für Archivierung mittels Bandlaufwerken gedacht. Heute wird es generell zum Verpacken mehrerer Dateien
in ein Archiv verwendet. Tar selbst ist nicht auf Kompression ausgelegt, weshalb TAR-Archive gerne mittels gzip oder bzip2 nachträglich komprimiert werden.
Als Dateiendungen sind dann .tar.gz, .tar.bz2 oder auch kürzer .tgz bzw. .tbz üblich. Dieses Vorgehen hat gegenüber der umgekehrten Vorgehensweise
(Dateien erst einzeln z.B. mit gzip komprimieren und dann mit tar archivieren) den Vorteil einer besseren Kompressionsrate.
Mit den Parametern -z bzw. -j führt tar die gzip- bzw. bzip2-(De)kompression automatisch durch. Tar speichert UNIX-Dateirechte und Besitzer im Archiv mit ab.
CPIO
Cpio hat ein ähnliches Einsatzgebiet wie tar (und kann sogar TAR-Archive lesen und schreiben). Dateinamen werden etwas gewöhnugsbedürftig von der Standardeingabe gelesen.
Wie tar unterstützt auch cpio selbst keine Kompression, kann aber genauso mit anderen Kompressionsprogrammen kombiniert werden.
Interessant ist (gegenüber tar) vor allem die Fähigkeit mehrere Formate lesen und schreiben zu können, darunter auch Formate mit Prüfsummen.
Das Binärformat ist außerdem nicht so verschwenderisch wie das TAR-Format, welches für jede archivierte Datei 512 Byte Kopfdaten speichert.