Springe zu: Hauptnavigation, Themennavigation, Seiteninhalt, Spezielle Seiten

Dateien archivieren und komprimieren

Mit den hier vorgestellten Programmen kann man unter Linux Dateien archivieren und komprimieren. So können zum Beispiel Konfigurations- oder Logdateien platzsparend gesichert werden. Der Quellcode von Linux-Programmen wird meistens auch in komprimierter Form veröffentlicht und muss vor dem Kompilieren entpackt werden.

tar – Dateien archivieren

Das Programm tar (tape archiver) wurde ursprünglich zur Archivierung von Daten auf Bandlaufwerken benutzt. Heutige Versionen erlauben natürlich auch das Speichern der Daten in Dateien.

Es gilt folgende Syntax:

tar [OPTION]... [DATEI]...

Hier eine Auswahl der möglichen Optionen:

-c oder --create
neues Archiv erzeugen
-f Archiv oder --file=Archiv
Der angegebene Dateiname wird verwendet
-x, --extract oder --get
Dateien werden aus dem Archiv geholt
-r oder --append
Dateien werden an das Archiv angehängt.
-u oder --update
Es werden nur Dateien an das Archiv angehängt, die jünger als die archivierte Version sind.
--delete
Dateien werden aus dem Archiv gelöscht.
-t oder --list
Die im Archiv enthaltenen Dateien werden angezeigt.
-v oder --verbose
Die zu bearbeitenden Dateien werden angezeigt.
-k oder --keep-old-files
Bereits vorhandene Dateien werden beim Extrahieren nicht überschrieben.
--atime-preserve
Beim Extrahieren bleibt die Zugriffszeit erhalten.
-m oder --modification-time
Beim Auspacken bleibt die Änderungszeit erhalten.
--same-owner
Der Eigentümer der ausgepackten Dateien bleibt erhalten.
-p oder --same-permissions
Die Zugriffsrechte der ausgepackten Dateien bleiben erhalten.
-j oder --bzip2
Archiv wird mit bzip2 komprimiert oder dekomprimiert.
-z, --gzip oder --ungzip
Archiv wird mit gzip komprimiert oder dekomprimiert.
-Z, --compress oder --uncompress
Archiv wird mit compress dekomprimiert. Das Debian-Paket ncompress muss installiert sein.
-X Datei oder --exclude-from=Datei
Es werden die Dateien ausgelassen, auf die in DATEI angegebene Muster passen.
--ignore-case
Bei den ausgelassenen Dateinamen wird die Groß/-Kleinschreibung ignoriert.
-P oder --absolute-names
Bei den Dateinamen werden die absoluten Pfade erhalten, indem führende Schrägstriche nicht entfernt werden.

Beispiel: Archiv erstellen

Das folgende Beispiel sichert den Ordner /etc/network/ in das Archiv /tmp/test.tar:

simon@debian:~$ tar -cf /tmp/test.tar /etc/network/
tar: Removing leading `/' from member names
simon@debian:~$

Beispiel: Archivinformationen anzeigen

Der folgende Befehl gibt dir den Inhalt des gerade erstellten Archivs aus:

simon@debian:~$ tar -tf /tmp/test.tar
etc/network/
etc/network/run
etc/network/interfaces
etc/network/if-post-down.d/
etc/network/interfaces.dpkg-new
etc/network/if-up.d/
etc/network/if-up.d/clamav-freshclam-ifupdown
etc/network/if-up.d/postfix
etc/network/if-down.d/
etc/network/if-down.d/clamav-freshclam-ifupdown
etc/network/if-down.d/postfix
etc/network/ifstate
etc/network/options
etc/network/if-pre-up.d/
simon@debian:~$

Mit der Option -v werden detailiertere Informationen über die im Archiv enthaltenen Dateien angezeigt:

simon@debian:~$ tar -tvf /tmp/test.tar
drwxr-xr-x root/root         0 2006-11-28 07:09:52 etc/network/
lrwxrwxrwx root/root         0 2005-12-31 21:45:11 etc/network/run -> .
-rw-r--r-- root/root       412 2005-06-29 14:15:38 etc/network/interfaces
drwxr-xr-x root/root         0 2003-12-22 20:35:11 etc/network/if-post-down.d/
-rw-r--r-- root/root         0 2003-12-22 20:37:08 etc/network/interfaces.dpkg-new
drwxr-xr-x root/root         0 2006-10-19 11:32:43 etc/network/if-up.d/
-rwxr-xr-x root/root      1677 2006-01-14 22:04:46 etc/network/if-up.d/clamav-freshclam-ifupdown
-rwxr-xr-x root/root       691 2005-03-01 02:05:22 etc/network/if-up.d/postfix
drwxr-xr-x root/root         0 2006-10-19 11:32:43 etc/network/if-down.d/
-rwxr-xr-x root/root      1677 2006-01-14 22:04:46 etc/network/if-down.d/clamav-freshclam-ifupdown
-rwxr-xr-x root/root       285 2005-03-01 02:05:22 etc/network/if-down.d/postfix
-rw-r--r-- root/root        16 2006-11-28 07:10:53 etc/network/ifstate
-rw-r--r-- root/root        45 2003-12-22 20:35:26 etc/network/options
drwxr-xr-x root/root         0 2003-12-22 20:35:11 etc/network/if-pre-up.d/
simon@debian:~$

Beispiel: Dateien aus einem Archiv löschen

Der folgende Befehl löscht die Datei etc/network/interfaces aus dem Archiv:

tar -f /tmp/test.tar --delete etc/network/interfaces

Beispiel: Dateien extrahieren

Der folgende Befehl entpackt den Inhalt des Archivs in den aktuellen Ordner:

tar -xf /tmp/test.tar

bzip2 – Dateien komprimieren

Mit dem Programm bzip2 können Dateien komprimiert und dekomprimiert werden. Das Programm ist standardmäßig unter Debian GNU/Linux nicht installiert und kann vom Administrator (root) mit folgendem Befehl nachinstalliert werden:

aptitude install bzip2

Das Programm verwendet folgende Syntax:

bzip2 [flags and input files in any order]

Die Optionen wird man wohl sehr selten brauchen. Hier trotzdem eine Liste:

-h oder --help
Zeigt einen Hilfebildschirm an
-d oder --decompress
Die angegebene Datei wird dekomprimiert.
-z oder --compress
Die angegebene Datei wird komprimiert (Standardeinstellung).
-k oder --keep
Die Originaldatei wird nicht gelöscht.
-f oder --force
Vorhandene Dateien werden überschrieben.
-t oder --test
Die Integrität der komprimierten Datei wird überprüft.
-c oder --stdout
Die Ausgabe erfolgt auf die Standardausgabe.
-q oder --quit
Es werden nur kritische Meldungen ausgegeben.
-v oder --verbose
Ausführliche Informationen werden angezeigt.
-V oder -L
Die Softwarelizenz und -version werden angezeigt.

Der folgende Befehl komprimiert die Datei /tmp/test.tar und erstellt die Datei /tmp/test.tar.bz2:

bzip2 /tmp/test.tar

Zum Entpacken des Archivs kann das Programm bunzip2 verwendet werden:

bunzip2 /tmp/test.tar.bz2

gzip – Dateien komprimieren

Auch gzip ist ein Programm zum de- und komprimieren von Dateien. Es verwendet folgende Syntax:

gzip [options] [file ...]

Hier eine Auswahl der möglichen Optionen:

-h oder --help
Zeigt einen Hilfebildschirm an.
-d oder --decompress
Die angegebene Datei wird dekomprimiert.
-f oder --force
Vorhandene Dateien werden überschrieben.
-l oder --list
Zeigt Informationen über den Inhalt der komprimierten Datei an.
-L oder --license
Zeigt den Lizenzvertrag an.
-n oder --no-name
Datum und Uhrzeit der Datei werden nicht gesichert oder hergestellt
-N oder --name
Datum und Uhrzeit der Datei werden wiederhergestellt oder gesichert.
-r oder --recursive
gzip arbeitet rekursiv
-t oder --test
Die Integrität der komprimierten Datei wird überprüft.
-v oder --verbose
Ausführliche Informationen werden angezeigt.
-V oder --version
Die Programmversionsnummer wird ausgegeben.

Um das Archiv /tmp/test.tar mit gzip zu komprimieren, ist folgender Befehl einzugeben:

gzip /tmp/test.tar

gunzip – Dateien dekomprimieren

Der Befehl gunzip bewirkt das Gegenteil von gzip. Mit gunzip wird das angegebene Archiv dekomprimiert:

gunzip /tmp/test.tar.bz2

Datum der Veröffentlichung: Dienstag, 28.11.2006

Nach oben

Diese Seite drucken