Revision [18070]
This is an old revision of LinuxTar made by ToBo on 2014-01-31 02:49:04.
Dateien packen und komprimieren unter Linux
1. tar
Der Befehl tar dient in erster Linie eigentlich dem Packen von mehreren Dateien in eine Archiv-Datei mit der Endung tar. Mit zusätzlichen Parametern bedient sich tar auch der Kompressionsverfahren gzip oder bzip um die Dateiinhalte zusätzlich zu Komprimieren.
Man muss bei der Verwendung von tar nur einige Parameter kennen und diese gezielt kombinieren.
Parameter | Bedeutung |
---|---|
c | Packen |
x | Entpacken |
f | Archivdateiname angeben (z.B: -f archiv.tar) |
v | Meldungen aller Operationen anzeigen |
t | nur Testen, nicht packen bzw. entpacken |
z | Kompressionsalgorithmus gzip |
j | Kompressionsalgorithmus bzip2 |
Nachfolgend einige Beispiele.
1.1Entpacken
Entpacken von tar-Archiven mit gzip-Kompression
tar xzf [ARCHIV].tar.gz
Entpacken von tar-Archiven mit bzip2-Kompression
tar xjf [ARCHIV].tar.bz2
Verzeichnis entpacken
tar xf [ARCHIV].tar
Nur bestimmte Dateien entpacken
tar zxvf test.tar Ordner2/
1.2Packen
[VERZEICHNIS1] und [DATEI1] in [ARCHIV].tar.gz packen und anschließend mit gzip komprimieren
tar cfz [ARCHIV].tar.gz [VERZEICHNIS1] [DATEI1]
[VERZEICHNIS1] und [DATEI1] nach etc.tar.bz2 packen und mit bzip komprimieren
tar cfj [ARCHIV].tar.bz2 [VERZEICHNIS1] [DATEI1]
[VERZEICHNIS1] packen
tar cf [ARCHIV].tar [VERZEICHNIS1]
Verzeichnis packen und Datum in den Verzeichnisnamen einbauen (Internationales Datumsformat nach ISO 8601:2004 mit Bindestrich)
tar cfz backup_`date +%Y-%m-%d`.tar.gz [VERZEICHNIS1]
... und ohne Bindestrich
tar cfz backup_`date +%Y%m%d`.tar.gz [VERZEICHNIS1]
Verzeichnis packen, dabei Datum und Uhrzeit in den Verzeichnisnamen einbauen (ISO 8601:2004)
tar cfz backup_`date +%Y%-m-%d_%H:%M:%S`.tar.gz [VERZEICHNIS1]
Dateien mit bestimmten Muster ausschließen
tar cfz anydir.tar.gz /anydir --exclude=*.log
Dateien aus Dateiliste ausschließen
tar cfz anydir.tar.gz /anydir -X exclude_my.lst
1.3Auflisten
Mit dem Parameter t lässt sich ein Archiv testen. Es kann so z.B. getestet werden, ob das Entpacken eines Archivs möglich ist, die Archivdatei also noch intakt ist, ohne den Inhalt der Datei zu entpacken. Gleichzeitig kann man sich auf diese Weise eine Dateiliste des Archivs ausgeben lassen.
tar -tvf tnotes.tar.gz | less
2. gzip
Man kann gzip auch eigenständig verwenden. Dies ist dann Sinnvoll, wenn nur eine Datei zu Komprimieren ist.
Komprimieren mit gzip
gzip /a/etc.tar
Dekomprimieren mit gzip
gzip -d /a/etc.tar.gz
Man kann gzip auch ganz nebenbei auch sehr gut in eine Kette von Pipes einbauen um z.B. den Inhalt einer Festplatte mit dd zu lesen und direkt über eine Pipe an gzip weiterzuleiten. Siehe dazu Backups.
3. zip
Komprimieren
zip [ARCHIV].zip [DATEI1] [DATEI2]
Verzeichnisse archivieren
zip -r [ARCHIV].zip [VERZEICHNIS1] [VERZEICHNIS2]
Inhalt eines ZIP-Archivs ausgeben
unzip -l [ARCHIV].zip
Entpacken
unzip [ARCHIV].zip
4. rar
unrar e paket.rar
5. Dateiendungen
Bei der Verwendung von den oben erwähnten Befehlen, ist es für den Befehl völlig unbedeutend, welche Dateiendung verwendet wurde. Es zählt nur der Inhalt. Für den Benutzer ist es jedoch in der Praxis schon sehr interessant zu wissen, ob ein Archiv mit tar gepackt wurde und anschließend mit gzip gepackt worden ist.
Deshalb haben sich folgende Dateiendungen eingebürgert:
Suffix | Bedeutung |
---|---|
.tar | Mehrere Dateien gepackt in ein tar-Archiv |
.tar.gz | Mehrere Dateien gepackt in ein tar-Archiv und anschließend mit gzip komprimiert |
.tar.bz2 | Mehrere Dateien gepackt in ein tar-Archiv und anschließend mit bzip2 komprimiert |
.gz | Eine Datei mit gzip komprimiert |
.bz2 | Eine Datei mit bzip2 komprimiert |
.zip | Eine oder mehrere Dateien mit zip komprimiert |
.rar | Eine oder mehrere Dateien mit rar komprimiert |
Siehe auch