- Erstellung eines Archivs mit dem Befehl tar
Ohne Komprimierung:
tar cvf files.tar dir/
Um die gzip-Komprimierung zu verwenden, fügen wir den Parameter z hinzu, und für die bzip-Komprimierung verwenden wir den Parameter j.
tar cvzf files.tar.gz dir/
gzip und bzip2: bzip2 ist langsamer als gzip, jedoch ist die Archivgröße bei Verwendung von bzip2 geringer.
* c – erstellt ein neues Archiv
* v – gibt die Liste der verarbeiteten Dateien aus.
* f – gibt an, dass die Archivdatei den folgenden Namen trägt.
* z – komprimiert das Archiv mit gzip.
* j – komprimiert das Archiv mit bzip2.
* x – extrahiert Dateien aus dem Archiv.
- Extrahieren von Dateien mit tar
Extrahieren wir die Daten aus einer *.tar-Datei unter Verwendung der Optionen xvf:
tar xvf files.tar
Um Dateien aus Archiven zu extrahieren, die mit gzip oder bzip erstellt wurden, verwenden wir entsprechend die Parameter z oder j.
- Auflistung des Archivinhalts
Archiv ohne Komprimierung:
tar tvf files.tar
Um die Auflistung eines mit gzip oder bzip komprimierten Archivs anzuzeigen, müssen Sie entsprechend die Parameter z oder j hinzufügen.
- Extrahieren einer bestimmten Datei aus einem tar-Archiv
Archiv ohne Komprimierung:
tar -xvf files.tar /location/of/the/file
Analog dazu verwenden Sie für die Komprimierung dieselben Parameter z oder j.
- Extrahieren eines bestimmten Verzeichnisses aus dem Archiv
Um ein bestimmtes Verzeichnis (sowie untergeordnete Unterverzeichnisse und Dateien) aus einem tar-Archiv zu extrahieren, müssen Sie beim Verwenden des Befehls tar den Namen des zu extrahierenden Ordners angeben.
tar -xvf container.tar /where/the/file/is
Extrahieren wir mehrere Ordner aus einem tar-Archiv:
tar -xvf files.tar /location/of/the/dir/ /location/of/the/dir2/
Wie üblich verwenden wir die Parameter z und j für die Arbeit mit komprimierten Archiven:
- Reguläre Ausdrücke bei der Arbeit mit tar
Der folgende Befehl extrahiert alle Dateien mit der Erweiterung doc aus dem Archiv.
tar -xvf files.tar --wildcards '*.doc'
wobei * – Wildcards *.doc – ein Muster zur Auswahl von Dateien mit der Erweiterung doc ist.
- Hinzufügen einer Datei oder eines Ordners zu einem vorhandenen Archiv mit dem Parameter -r
Fügen wir eine bestimmte Datei oder einen bestimmten Ordner zu einem vorhandenen Archiv hinzu:
tar rvf files.tar some_our_file
Die Datei some_our_file wird dem Archiv mit dem Namen files.tar hinzugefügt. Das Hinzufügen eines Verzeichnisses erfolgt auf ähnliche Weise:
tar rvf files.tar some_our_dir/
Sie können einer Datei oder einem Ordner kein Archiv hinzufügen, das mit Komprimierung erstellt wurde.
- Überprüfen der Daten in der Archivdatei mit dem Parameter -W
Nach der Erstellung eines Archivs ist es sinnvoll, es mit dem Parameter W zu überprüfen:
tar cvfW files.tar dir/
Allerdings ist die Überprüfung, wie im vorherigen Fall, nicht erfolgreich, wenn es sich um ein mit Komprimierung erstelltes Archiv handelt.
Manchmal muss aus sehr großen tar-Archiven (.tar, .tar.gz, .tar.bz2) nicht der gesamte Inhalt extrahiert werden, sondern nur einige bestimmte Dateien. In solchen Fällen ist es nicht sinnvoll, das ursprüngliche tar-Archiv vollständig zu extrahieren, da dies nicht nur erhebliche Ressourcen erfordert (vor allem die Festplattenbelastung), sondern auch lange dauern kann.
Die Autoren von tar haben natürlich die Möglichkeit vorgesehen, nur die angegebenen Objekte aus dem Archiv zu extrahieren. Alles ist recht einfach – es genügt, die benötigten Dateien als Argumente für tar nach dem Archivnamen aufzulisten. Zum Beispiel:
tar -xf archive.tar myfile1 dir2/myfile2
Dieser Befehl extrahiert die Dateien myfile1 und dir2/myfile2 aus dem Archiv archive.tar. Bei komprimierten Archiven funktioniert es auf die gleiche Weise – es werden die entsprechenden Optionen hinzugefügt: „z“ für .gz (gzip) und „j“ für .bz2 (bzip2).
Die einzige Schwierigkeit kann darin bestehen, den genauen Dateinamen bzw. den vollständigen Pfad zur Datei im Archiv anzugeben. Dieses Problem lässt sich mit der Funktion zur Anzeige der Verzeichnisstruktur der im Archiv gespeicherten Dateien und Verzeichnisse lösen. Zum Beispiel so:
tar -tf archive.tar
