BEZEICHNUNG
tar - ein ArchivierungswerkzeugÜBERSICHT
Traditioneller Aufruf
tar {A|c|d|r|t|u|x}[GnSkUWOmpsMBiajJzZhPlRvwo] [ ARG …]Aufruf im UNIX-Stil
tar -A [OPTIONEN] ARCHIV ARCHIVAufruf im GNU-Stil
tar {--catenate|--concatenate} [OPTIONEN] ARCHIV ARCHIVANMERKUNGEN
Diese Handbuchseite ist eine Kurzbeschreibung von GNU tar. Detailliertere Erläuterungen einschließlich Beispielen und Empfehlungen für Befehlsaufrufe finden Sie im GNU-Tar-Handbuch im Texinfo-Format. Wenn das Anzeigeprogramm info(1) und die Dokumentation zu Tar auf Ihrem System korrekt installiert sind, können Sie mit dem Befehlinfo tar
auf das vollständige Handbuch zugreifen.
Sie können das Handbuch auch im Info-Modus in emacs(1) betrachten.
Weiterhin finden Sie verschiedene Formate online auf
Falls Sie in dieser Handbuchseite und dem GNU-Tar-Handbuch
unterschiedliche Aussagen entdecken, sollte Letzteres als Referenzquelle
anerkannt werden.
BESCHREIBUNG
GNU tar ist ein Archivprogramm, das mit dem Ziel entwickelt wird, mehrere Dateien in einer einzigen Datei zu speichern (einem Archiv) sowie diese Dateien zu bearbeiten. Das Archiv kann entweder eine reguläre Datei oder ein Gerät sein (zum Beispiel ein Bandlaufwerk, woraus der Name des Programms abgeleitet wurde, der für tape archiver steht), das sich auf einem lokalen Rechner oder auch einem Rechner im Netz befinden kann.Optionsstile
Die Optionen können an tar auf drei verschiedene Arten übergeben werden. Im traditionellen Stil ist das erste Argument eine Aneinanderreihung von Optionsbuchstaben und alle darauf folgenden Argumente übergeben wiederum Argumente an die Optionen, wo sie notwendig sind. Die Argumente werden in der gleichen Reihenfolge wie die Optionsbuchstaben ausgewertet. Alle Wörter in der Befehlszeile, die nach den Optionen verbleiben, werden als Nicht-Options-Argumente verarbeitet: Namen von Dateien oder Archivelementen. Beispielsweise erfordert die Option c die Erstellung eines Archives, die Option v ausführliche Ausgaben, und die Option f erwartet ein Argument, das den Namen des Archivs angibt, das verarbeitet werden soll. Der folgende Befehl im traditionellen Stil weist tar an, alle Dateien aus dem Verzeichnis /etc in die Archivdatei etc.tar zu packen, wobei die archivierten Dateien ausführlich aufgelistet werden:tar cfv etc.tar /etcIm UNIX oder Kurzoptions-Stil wird jedem Optionsbuchstaben ein einzelnes Minuszeichen vorangestellt, so wie in anderen Befehlszeilenwerkzeugen auch. Wenn eine Option ein Argument akzeptiert, folgt es danach, entweder als separates Wort in der Befehlszeile oder unmittelbar nach der Option. Wenn jedoch die Option ein optionales Argument akzeptiert, muss das Argument ohne Leerzeichen direkt auf den Optionsbuchstaben folgen, zum Beispiel wie in -g/tmp/snar.db. Eine beliebige Anzahl von Optionen, die keine Argumente akzeptieren, können nach einem einzelnen Minuszeichen zusammengefasst werden, zum Beispiel -vkp. Optionen, die Argumente akzeptieren (egal ob obligatorisch oder optional), können am Ende angehängt werden, zum Beispiel -vkpf a.tar. Der obige Beispielbefehl könnte im Kurzoptions-Stil folgendermaßen aussehen:
tar -cvf etc.tar /etcoder
tar -c -v -f etc.tar /etcIm GNU oder Langoptions-Stil beginnt jede Option mit einem doppelten Minuszeichen und hat einen aussagekräftigen Namen, der aus Kleinbuchstaben und Minuszeichen besteht. Die Langoption kann mit ihren Anfangsbuchstaben abgekürzt werden, sofern dadurch kein Zweideutigkeiten verursacht werden. Argumente zu Langoptionen werden entweder als separates Wort in der Befehlszeile unmittelbar nach der Option übergeben, oder durch ein Gleichheitszeichen von der Option getrennt, ohne eingefügte Leerzeichen. Optionale Argumente müssen stets auf die letztgenannte Weise übergeben werden. Nachfolgend finden Sie verschiedene Möglichkeiten des Beispielbefehls in diesem Stil:
tar --create --file etc.tar --verbose /etcoder (durch Abkürzung einiger Optionen):
tar --cre --file=etc.tar --verb /etcDie Optionen in allen drei Stilen können miteinander gemischt werden. Dies wird mit alten Optionen jedoch nicht empfohlen.
Betriebsmodus
Die in der nachfolgenden Tabelle aufgelisteten Optionen weisen tar an, welche Aktion ausgeführt werden soll. Exakt eine davon muss angegeben werden. Die Bedeutung der Nicht-Options-Argumente hängt davon ab, welcher Aktionsmodus angefordert wird.- -A, --catenate, --concatenate
- hängt ein Archiv an das Ende eines anderen Archivs an. Die Argumente werden als die Namen der anzuhängenden Archive aufgefasst. Alle Archive müssen im gleichen Format des Archivs vorliegen, an das sie angehängt werden sollen. Anderenfalls wäre das Archiv mit Nicht-GNU-Implementationen von tar nicht verwendbar. Beachten Sie auch, dass bei Angabe von mehr als einem Archiv jene Elemente, die nicht aus dem ersten Archiv stammen, im sich ergebenden Archiv nur dann verfügbar sein werden, wenn die Option -i ( --ignore-zeros) angegeben wird. Komprimierte Archive können nicht verkettet werden.
- -c, --create
- erstellt ein neues Archiv. Argumente werden als Namen der zu archivierenden Dateien aufgefasst. Verzeichnisse werden rekursiv archiviert, außer wenn die Option --no-recursion angegeben ist.
- -d, --diff, --compare
- findet Unterschiede zwischen Archiv und Dateisystem. Die Argumente sind optional und geben die zu vergleichenden Archivelemente an. Falls nichts angegeben ist, wird das aktuelle Arbeitsverzeichnis angenommen.
- --delete
- löscht Elemente aus dem Archiv. Die übergebenen Argumente sind Namen der zu löschenden Elemente. Es muss mindestens ein Argument angegeben werden. Diese Option funktioniert nicht mit gepackten Archiven. Außerdem gibt es keine entsprechende kurze Option.
- -r, --append
- hängt Dateien am Ende eines Archivs an. Die Argumente sind gleichbedeutend mit jenen für -c (--create).
- -t, --list
- listet den Inhalt eines Archivs auf. Argumente sind optional. Wenn angegeben, bezeichnen diese die Namen der aufzulistenden Argumente.
- --test-label
- testet die Datenträgerbezeichnung des Archivs und beendet das Programm. Wenn es ohne Argumente aufgerufen wird, wird die Datenträgerbezeichnung aufgerufen (sofern vorhanden) und das Programm mit dem Status 0 beendet. Wenn eines oder mehrere Befehlszeilenargumente angegeben sind, vergleicht tar die Datenträgerbezeichnung mit jedem Argument. Es wird mit dem Exit-Code 0 beendet, falls eine Übereinstimmung gefunden wird, anderenfalls mit 1. Es erfolgt nur dann eine Ausgabe, wenn die Option -v (--verbose) übergeben wurde. Für diese Option gibt es keine entsprechende kurze Option.
- -u, --update
- hängt Dateien, die neuer als die entsprechende Kopie in dem Archiv sind, an. Die Argumente haben die gleiche Bedeutung wie bei den Optionen -c und -r. Beachten Sie, dass neuere Dateien nicht ihre älteren Archivkopien ersetzen, sondern stattdessen an das Ende des Archivs angehängt werden. Das entstandende Archiv kann daher mehrere Mitglieder mit dem gleichen Namen enthalten, entsprechend mehrerer Versionen der gleichen Datei.
- -x, --extract, --get
- entpackt Dateien aus einem Archiv. Argumente sind optional. Wenn angegeben, bezeichnen sie die Namen der Elemente, die aus dem Archiv entpackt werden sollen.
- --show-defaults
- zeigt die eingebauten Voreinstellungen für verschiedene Optionen von tar an und beendet das Programm. Es werden keine Argumente akzeptiert.
- -?, --help
- zeigt eine kurze Zusammenfassung der Optionen an und beendet das Programm. Es werden keine Argumente akzeptiert.
- --usage
- zeigt eine Liste der verfügbaren Optionen an und beendet das Programm. Es werden keine Argumente akzeptiert.
- --version
- zeigt Versions- und Urheberrechtsinformationen an und beendet das Programm.
OPTIONEN
Aktionsattribute
- --check-device
- überprüft Gerätenummern, wenn inkrementelle Archive erstellt werden (Voreinstellung).
- -g, --listed-incremental=DATEI
- verarbeitet inkrementelle Sicherungen im neuen GNU-Format. DATEI ist der Name einer Schnappschuss-Datei, wo tar zusätzliche Informationen speichert. Diese werden zur Entscheidung darüber herangezogen, welche Dateien sich seit der letzten inkrementellen Sicherung geändert haben und daher nicht erneut gespeichert werden müssen. Wenn diese DATEI bei der Erstellung eines Archivs nicht existiert, wird sie angelegt und alle Dateien zum sich ergebenden Archiv hinzugefügt werden (die Speicherung der Stufe 0). Um inkrementelle Archive der von Null verschiedenen Stufe N zu erzeugen, erstellen Sie eine Kopie der Schnappschuss-Datei während der Stufe N-1 und verwenden Sie diese als DATEI. Beim Auflisten oder Entpacken wird der tatsächliche Inhalt der DATEI nicht untersucht, es ist nur aus syntaktischen Erfordernissen nötig. Daher wird häufig /dev/null verwendet.
- --hole-detection=METHODE
- verwendet die angegebene METHODE zum Finden von Lücken in Sparse-Dateien. Diese Option impliziert --sparse. Gültige Werte für METHODE sind seek and raw. In der Voreinstellung wird seek benutzt, anderenfalls wird auf raw ausgewichen, wenn seek nicht anwendbar ist.
- -G, --incremental
- verwendet das alte GNU-Format für inkrementelle Sicherheitskopien.
- --ignore-failed-read
- beendet bei nicht lesbaren Dateien nicht mit einem Rückgabewert ungleich Null.
- --level=ZAHL
- legt die Speicherstufe für erzeugte »listed-incremental«-Archive fest. Gegenwärtig ist nur --level=0 von Bedeutung: Es weist tar an, den Schnappschuss vor der Ausgabe zu kürzen, wobei die Stufe 0 erzwungen wird.
- -n, --seek
- nimmt an, dass das Archiv durchsuchbar ist. Normalerweise ermittelt tar automatisch, ob ein Archiv durchsucht werden kann oder nicht. Diese Option ist für jene Fälle gedacht, in denen die automatische Erkennung nicht funktioniert. Sie ist nur wirksam, wenn das Archiv zum Lesen geöffnet ist (zum Beispiel mit den Optionen --list oder --extract).
- --no-check-device
- überprüft Gerätenummern nicht, wenn inkrementelle Archive erstellt werden.
- --no-seek
- nimmt an, dass das Archiv nicht durchsuchbar ist.
- --occurrence[=N]
- verarbeitet nur jedes N-te Vorkommen jeder Datei im Archiv. Diese Option ist nur in Verbindung mit einem der Unterbefehle --delete, --diff, --extract oder --list gültig, und wenn eine Liste von Dateien entweder in der Befehlszeile oder mit der Option -T angegeben ist. Die Vorgabe für N ist 1.
- --restrict
- schaltet die Verwendung von einigen potenziell schädlichen Optionen aus.
- --sparse-version=MAJOR[.MINOR]
- legt die Version des zu verwendenden Sparse-Formats fest (impliziert --sparse). Zulässige Werte für Argumente sind 0.0, 0.1 und 1.0. Detaillierte Erläuterungen zu den Sparse-Formaten finden Sie im GNU Tar Manual, Anhang D, »Sparse Formats«. Mit dem Anzeigeprogramm info können Sie es mit dem folgenden Befehl aufrufen: info tar 'Sparse Formats'.
- -S, --sparse
- verarbeitet Sparse-Dateien effizient. Einige Dateien im Dateisystem können Abschnitte enthalten, in die tatsächlich nie geschrieben wurde (oft sind es von Systemen wie DBM angelegte Datenbankdateien). Wenn diese Option angegeben ist, versucht tar vor dem Archivieren zu bestimmen, ob es sich um eine Sparse-Datei handelt. Sollte das der Fall sein, wird versucht, die Größe des Archivs zu verringern, indem leere Teile der Datei nicht mit archiviert werden.
Regeln beim Überschreiben
Diese Optionen regeln das Verhalten von tar beim Entpacken einer Datei über eine vorhandene Kopie auf einem Datenträger.- -k, --keep-old-files
- ersetzt existierende Dateien beim Entpacken nicht.
- --keep-newer-files
- ersetzt existierende Dateien nicht, die neuer als ihre Kopie im Archiv sind.
- --keep-directory-symlink
- ersetzt existierende Symlinks auf Verzeichnisse beim Entpacken nicht.
- --no-overwrite-dir
- behält die Metadaten von existierenden Verzeichnissen.
- --one-top-level[=VERZ]
- entpackt alle Dateien in VERZ, oder wenn es ohne Argument angegeben wird, in ein Unterverzeichnis, das nach dem Basisnamen des Archivs benannt wird (ohne die Standard-Kompressionserweiterungen, die von --auto-compress erkannt werden können).
- --overwrite
- überschreibt existierende Dateien beim Entpacken.
- --overwrite-dir
- überschreibt Metadaten von existierenden Verzeichnissen beim Entpacken (Voreinstellung).
- --recursive-unlink
- löscht alle Dateien im Verzeichnis vor dem Entpacken rekursiv.
- --remove-files
- löscht Dateien vom Datenträger, nachdem sie zum Archiv hinzugefügt wurden.
- --skip-old-files
- ersetzt existierende Dateien beim Entpacken nicht, sie werden ohne Meldung übersprungen.
- -U, --unlink-first
- löscht jede Datei, bevor sie beim Entpacken überschrieben wird.
- -W, --verify
- überprüft das Archiv nach dem Schreiben.
Wahl des Ausgabe-Datenstroms
- --ignore-command-error
- ignoriert die Exit-Codes von Unterprozessen.
- --no-ignore-command-error
- behandelt Rückgabewerte ungleich Null von Kindprozessen als Fehler (Voreinstellung).
- -O, --to-stdout
- entpackt Dateien in die Standardausgabe.
- --to-command=BEFEHL
- leitet die entpackten Dateien an BEFEHL weiter. Das Argument ist der Pfadname eines externen Programms, optional mit Befehlszeilenargumenten. Das Programm wird aufgerufen und der Inhalt der entpackten Datei in die Standardausgabe übergeben. Zusätzliche Daten werden über die folgenden Umgebungsvariablen übergeben:
- TAR_FILETYPE
- Der Dateityp ist ein einzelner Buchstabe folgender
Bedeutung:
f Reguläre Datei d Verzeichnis l Symbolischer Link h Hardlink b Blockorientiertes Gerät c Zeichenorientiertes Gerät
Gegenwärtig werden nur reguläre Dateien unterstützt.
- TAR_MODE
- Der Dateimodus als Oktalzahl.
- TAR_FILENAME
- Der Name der Datei.
- TAR_REALNAME
- Der Name der Datei, so wie sie im Archiv gespeichert ist.
- TAR_UNAME
- Name des Besitzers der Datei.
- TAR_GNAME
- Name der Gruppe des Besitzers der Datei.
- TAR_ATIME
- Zeit des letzten Zugriffs. Es ist eine Dezimalzahl, die die Sekunden seit Beginn der Unix-Zeitrechnung darstellt. Wenn das Archiv Zeitangaben mit Nanosekunden-Präzision enthält, werden die Nanosekunden nach einem Dezimaltrenner an den Zeitstempel angehängt.
- TAR_MTIME
- Zeitpunkt der letzten Änderung.
- TAR_CTIME
- Zeitpunkt der letzten Statusänderung.
- TAR_SIZE
- Größe der Datei.
- TAR_UID
- UID (Benutzerkennung) des Besitzers der Datei.
- TAR_GID
- GID (Gruppenkennung) des Besitzers der Datei.
- TAR_VERSION
- Versionsnummer von GNU tar.
- TAR_ARCHIVE
- Der Name des Archivs, das von tar verarbeitet wird.
- TAR_BLOCKING_FACTOR
- Aktueller Block-Faktor, also die Anzahl der 512-Byte-Blöcke in einem Datensatz.
- TAR_VOLUME
- Ordnungszahl des Datenträgers, der von tar verarbeitet wird (wird gesetzt, wenn ein aus mehreren Datenträgern bestehendes Archiv gelesen wird).
- TAR_FORMAT
- Format des verarbeiteten Archivs: gnu, oldgnu, posix, ustar oder v7.
- TAR_SUBCOMMAND
- Eine Kurzoption (mit vorangestelltem Minuszeichen), welche die von tar ausgeführte Aktion beschreibt.
Umgang mit Dateiattributen
- --atime-preserve[=METHODE]
- erhält Zugriffszeiten für ausgegebene Dateien, entweder durch Wiederherstellen der Zeiten nach dem Lesen ( METHOD= replace; Vorgabe) oder durch Nicht-Setzen der Zeiten ( METHOD=system)
- --delay-directory-restore
- verzögert das Setzen der Änderungszeiten und Rechte der entpackten Verzeichnisse bis zum Ende des Entpackvorgangs. Verwenden Sie diese Option, wenn Sie aus einem Archiv entpacken, das eine unübliche Anordnung der Elemente aufweist.
- --group=NAME[:GID]
- erzwingt NAME als Gruppenname für hinzugefügte Dateien. Wenn GID nicht angegeben ist, kann NAME entweder ein Benutzername oder eine numerische GID sein. In diesem Fall wird der fehlende Teil (GID oder Name) aus der aktuellen Gruppen-Datenbank des Rechners abgeleitet. Wenn dies zusammen mit --group-map=DATEI verwendet wird, wirkt es sich nur auf jene Dateien aus, deren Gruppe nicht in DATEI aufgelistet ist.
- --group-map=DATEI
- liest die Übersetzung der Gruppenzuordnung aus
DATEI. Leerzeilen werden dabei ignoriert. Kommentare werden mit
einem #-Zeichen eingeleitet und erstrecken sich bis zum Ende der
Zeile. Jede nicht-leere Zeile in DATEI definiert die
Übersetzung für eine einzelne Gruppe. Sie muss aus zwei
Feldern bestehen, die durch eine beliebige Anzahl Leerzeichen getrennt
sind:
ALTEGRUPPE NEUEGRUPPE[:NEUEGID]
ALTEGRUPPE ist entweder ein gültiger Gruppenname oder eine GID, der ein + vorangestellt ist. Außer wenn NEUEGID angegeben ist, muss NEUEGRUPPE auch entweder ein gültiger Gruppenname oder ein +GID sein. Anderenfalls müssen sowohl NEUEGRUPPE als auch NEUEGID nicht in der Gruppendatenbank des Systems enthalten sein. Daraufhin wird jede Eingabedatei mit der Besitzergruppe OLDGRP im Archiv mit der Besitzergruppe NEUEGRUPPE und der GID NEUEGID gespeichert.
- --mode=ÄNDERUNGEN
- erzwingt die (symbolischen) ÄNDERUNGEN des Modus für hinzugefügte Dateien.
- --mtime=DATUM-ODER-DATEI
- setzt die mtime für hinzugefügte Dateien. DATUM-ODER-DATEI ist entweder Datum/Zeit in einem beinahe willkürlichen Format oder der Name einer existierenden Datei. In letzterem Fall wird die mtime dieser Datei verwendet.
- -m, --touch
- entpackt nicht die Dateiänderungszeit.
- --no-delay-directory-restore
- hebt die Auswirkung der Option --delay-directory-restore auf.
- --no-same-owner
- entpackt Dateien mit dem aufrufenden Benutzer als Besitzer (Voreinstellung für normale Benutzer).
- --no-same-permissions
- wendet die umask des Benutzers an, wenn Dateirechte aus dem Archiv entpackt werden (Voreinstellung für normale Benutzer).
- --numeric-owner
- verwendet immer Zahlen für Benutzer-/Gruppennamen.
- --owner=NAME[:UID]
- erzwingt NAME als Besitzer der hinzugefügten Dateien. Wenn keine UID angegeben ist, kann NAME entweder ein Benutzername oder eine numerische UID sein. In diesem Fall wird der fehlende Teil (UID oder Name) aus der Benutzerdatenbank des aktuellen Rechners ermittelt. Wenn dies zusammen mit --owner-map=DATEI verwendet wird, wirkt es sich nur auf die Dateien aus, deren Eigentümer nicht in DATEI aufgelistet ist.
- --owner-map=DATEI
- liest die Eigentümerabbildungstabelle aus
DATEI. Leere Zeilen werden ignoriert. Kommentare werden mit dem
Zeichen # eingeleitet und gehen bis zum Zeilenende. Jede nicht
leere Zeile in DATEI definiert eine Abbildung für eine
einzelne UID. Sie muss aus zwei Feldern bestehen, die mit einer beliebigen
Anzahl von Leerraumzeichen getrennt werden:
ALTERBENUTZER NEUERBENUTZER[:NEUE_UID]
ALTERBENUTZER ist entweder ein gültiger Benutzername oder eine UID, der + vorangestellt ist. Außer wenn NEUE_UID angegeben ist, muss NEUERBENUTZER auch ein gültiger Benutzername oder eine +UID sein. Anderenfalls müssen sowohl ALTERBENUTZER als auch NEUERBENUTZER nicht in der Benutzerdatenbank des Systems enthalten sein. Im Ergebnis wird jede Eingabedatei, deren Eigentümer ALTERBENUTZER ist, im Archiv mit dem Eigentümer NEUERBENUTZER und der UID NEUE_UID gespeichert.
- -p, --preserve-permissions, --same-permissions
- liest Informationen über Dateiberechtigungen aus (Voreinstellung für den Administrator).
- --same-owner
- versucht, Dateien mit denselben Besitzern zu entpacken, wie sie im Archiv existieren (Voreinstellung für den Administrator).
- -s, --preserve-order, --same-order
- sortiert die zu entpackenden Namen, um auf das Archiv zu passen.
- --sort=REIHENFOLGE
- sortiert Verzeichniseinträge beim Erstellen eines Archivs anhand der angegebenen REIHENFOLGE, die none, name oder inode sein kann. Die Voreinstellung ist --sort=none, wobei Archivelemente in der gleichen Reihenfolge gespeichert werden, wie es das Betriebssystem vorgibt. Die Verwendung von --sort=name stellt sicher, dass die Anordnung der Elemente im erstellten Archiv einheitlich und reproduzierbar ist. Die Angabe von --sort=inode vermindert beim Erstellen des Archivs die Anzahl von Suchvorgängen auf dem Datenträger und kann so die Archivierung merklich beschleunigen. Diese Reihenfolge wird nur unterstützt, wenn das zugrunde liegende System die erforderlichen Informationen bereitstellt.
Erweiterte Dateiattribute
- --acls
- aktiviert die POSIX-ACL-Unterstützung.
- --no-acls
- deaktiviert die POSIX-ACL-Unterstützung.
- --selinux
- aktiviert die Unterstützung für SELinux-Kontext.
- --no-selinux
- deaktiviert die Unterstützung für SELinux-Kontext.
- --xattrs
- aktiviert die Unterstützung für erweiterte Attribute.
- --no-xattrs
- deaktiviert die Unterstützung für erweiterte Attribute.
- --xattrs-exclude=MUSTER
- gibt das Ausschlussmuster für Xattr-Schlüssel an. MUSTER ist ein regulärer POSIX-Ausdruck, zum Beispiel schließt --xattrs-exclude='^user.' Attribute aus dem Namensraum des Benutzers aus.
- --xattrs-include=MUSTER
- gibt das Einbeziehungsmuster für Xattr-Schlüssel an. MUSTER ist ein regulärer POSIX-Ausdruck.
Geräteauswahl und -wechsel
- -f, --file=ARCHIV
- verwendet Archivdatei oder Geräte-ARCHIV.
Falls diese Option nicht angegeben ist, wird tar zuerst die
Umgebungsvariable »TAPE« prüfen. Falls diese gesetzt
ist, wird ihr Wert als Archivname genutzt. Andernfalls wird tar die
einkompilierte Vorgabe annehmen. Die Vorgabe kann entweder mit der Option
--show-defaults oder am Ende der Ausgabe von tar --help
eingesehen werden.
Ein Archivname, der einen Doppelpunkt enthält, bezeichnet eine Datei
oder ein Gerät auf einem Rechner in der Ferne. Der Teil vor dem
Doppelpunkt ist der Rechnername oder dessen IP-Adresse, der Teil danach
ist der Pfad zur Datei oder zum Gerät, zum Beispiel:
--file=remotehost:/dev/sr0
Ein optionaler Benutzername kann dem Rechnernamen vorangestellt werden, wobei ein @ dazwischengesetzt werden muss. In der Voreinstellung erfolgt der Zugriff auf den Rechner in der Ferne über den Befehl rsh(1). Heutzutage ist es jedoch üblich, stattdessen ssh(1) zu verwenden. Sie erreichen dies mit der folgenden Befehlszeilenoption:--rsh-command=/usr/bin/ssh
Auf der Maschine in der Ferne sollte der Befehl rmt(8) installiert sein. Falls deren Pfadname nicht auf die Vorgabe von tar passt, können sie den korrekten Pfadnamen mit der Option --rmt-command übergeben.
- --force-local
- gibt an, dass die Archivdatei lokal ist, selbst wenn sie einen Doppelpunkt enthält.
- -F, --info-script=BEFEHL, --new-volume-script= BEFEHL
- führt BEFEHL am Ende jedes Bandes aus (impliziert -M). Der Befehl kann Argumente enthalten. Beim Start wird die Umgebung von tar und die zusätzlichen folgenden Variablen geerbt:
- TAR_VERSION
- Versionsnummer von GNU tar.
- TAR_ARCHIVE
- Der Name des Archivs, das von tar verarbeitet wird.
- TAR_BLOCKING_FACTOR
- Aktueller Block-Faktor, also die Anzahl der 512-Byte-Blöcke in einem Datensatz.
- TAR_VOLUME
- Ordnungszahl des Datenträgers, der von tar verarbeitet wird (wird gesetzt, wenn ein aus mehreren Datenträgern bestehendes Archiv gelesen wird).
- TAR_FORMAT
- Format des verarbeiteten Archivs: gnu, oldgnu, posix, ustar oder v7.
- TAR_SUBCOMMAND
- Eine Kurzoption (mit vorangestelltem Minuszeichen), welche die von tar ausgeführte Aktion beschreibt.
- TAR_FD
- Ein Dateideskriptor, der zur Übergabe des neuen Datenträgernamens an tar verwendet werden kann.
- -L, --tape-length=N
- Das Band muss nach dem Schreiben von Nx1024 Bytes gewechselt werden. Falls auf N eine Größen-Endung folgt (siehe den Unterabschnitt Größen-Endungen unten), gibt die Endung den multiplikativen Faktor an, der statt 1024 verwendet werden soll. Diese Option impliziert -M.
- -M, --multi-volume
- erstellt datenträgerüberspannende Archive, listet diese auf oder liest sie aus.
- --rmt-command=BEFEHL
- verwendet BEFEHL anstelle von rmt beim Zugriff auf Archive in der Ferne. Siehe die obige Beschreibung der Option -f.
- --rsh-command=BEFEHL
- verwendet BEFEHL anstelle von rsh beim Zugriff auf Archive in der Ferne. Siehe die obige Beschreibung der Option -f.
- --volno-file=DATEI
- Wird diese Option zusammen mit --multi-volume verwendet, wird tar in DATEI nachverfolgen, an welchem Datenträger eines datenträgerüberspannenden Archivs es gerade arbeitet.
Blockeinteilung von Geräten
- -b, --blocking-factor=BLÖCKE
- setzt die Datensatzgröße auf BLÖCKEx 512 Bytes.
- -B, --read-full-records
- Beim Auflisten oder Auslesen werden unvollständige Eingabedatensätze hinter der Markierung für das Dateiende akzeptiert.
- -i, --ignore-zeros
- ignoriert genullte Blöcke im Archiv. Normalerweise bedeuten zwei aufeinanderfolgende 512-Blöcke, die mit Nullen gefüllt sind, EOF (Ende der Datei) und Tar beendet das Lesen, nachdem es sie angetroffen hat. Diese Option weist es an, weiter zu lesen und ist nützlich, falls Archive mit der Option -A erstellt wurden.
- --record-size=ZAHL
- setzt die Datensatzgröße. ZAHL ist die Anzahl der Bytes pro Datensatz. Sie muss ein Vielfaches von 512 sein. Sie kann eine Größenendung angehängt bekommen, z.B. --record-size=10K für 10 Kilobyte. Siehe den Unterabschnitt Größenendungen für eine Liste der gültigen Endungen.
Auswahl des Archivformats
- -H, --format=FORMAT
- erstellt ein Archiv im angegebenen Format. FORMAT ist eines der folgenden:
- gnu
- GNU Tar 1.13.x-Format
- oldgnu
- GNU-Format entsprechend Tar <= 1.12
- pax, posix
- POSIX 1003.1-2001-(Pax)-Format
- ustar
- POSIX 1003.1-1988-(Ustar)-Format
- v7
- Altes V7-Tar-Format
- --old-archive, --portability
- ist gleichbedeutend mit --format=v7.
- --pax-option=Schlüsselwort[[:]=Wert][,Schlüsselwort[[:]=Wert]] …
- steuert beim Erstellen von PAX-Archiven PAX-Schlüsselwörter. Diese Option entspricht der Option -o des pax(1)-Hilfswerkzeugs.
- --posix
- Gleichbedeutend mit --format=posix.
- -V, --label=TEXT
- erstellt ein Archiv mit dem Datenträgernamen TEXT. Beim Auflisten oder Entpacken wird TEXT als Suchmuster für den Datenträgernamen verwendet.
Kompressionsoptionen
- -a, --auto-compress
- verwendet die Archiv-Endung, um das Kompressionsprogramm herauszufinden.
- -I, --use-compress-program=BEFEHL
- filtert Daten durch BEFEHL. Er muss die Option -d zur Dekompression akzeptieren. Das Argument kann Befehlszeilenoptionen enthalten.
- -j, --bzip2
- filtert das Archiv mit bzip2(1).
- -J, --xz
- filtert das Archiv mit xz(1).
- --lzip
- filtert das Archiv mit lzip(1).
- --lzma
- filtert das Archiv mit lzma(1).
- --lzop
- filtert das Archiv mit lzop(1).
- --no-auto-compress
- verwendet nicht die Archiv-Endung, um das Kompressionsprogramm herauszufinden.
- -z, --gzip, --gunzip, --ungzip
- filtert das Archiv mit gzip(1).
- -Z, --compress, --uncompress
- filtert das Archiv mit compress(1).
- --zstd
- filtert das Archiv mit zstd(1).
Auswahl lokaler Dateien
- --add-file=DATEI
- fügt DATEI zum Archiv hinzu (sinnvoll, wenn der Name mit einem Minuszeichen beginnt).
- --backup[=CONTROL]
- erstellt Sicherungskopien vor dem Löschen. Falls das Argument CONTROL angegeben ist, steuert es die Sicherung. Zulässige Werte sind:
- none, off
- erstellt niemals Sicherungskopien.
- t, numbered
- erstellt nummerierte Sicherheitskopien.
- nil, existing
- nummeriert, wenn bereits nummerierte Sicherheitskopien existieren, sonst einfach.
- never, simple
- erstellt immer einfache Sicherheitskopien.
- -C, --directory=VERZ
- wechselt in VERZ, bevor irgendwelche Operationen ausgeführt werden. Diese Option ist positionsgebunden, das heißt, sie beeinflusst alle Optionen, die darauf folgen.
- --exclude=MUSTER
- schließt Dateien aus, die dem MUSTER entsprechen, das ein Platzhalter-Muster im glob(3)-Stil ist.
- --exclude-backups
- schließt Sicherungs- und Sperrdateien aus.
- --exclude-caches
- schließt den Inhalt von Verzeichnissen aus, die eine Datei namens CACHEDIR.TAG enthalten, mit Ausnahme der Markierungsdatei selbst.
- --exclude-caches-all
- schließt den Inhalt von Verzeichnissen aus, die eine Datei namens CACHEDIR.TAG enthalten, einschließlich der Markierungsdatei selbst.
- --exclude-caches-under
- schließt alles unterhalb von Verzeichnissen aus, die eine Datei namens CACHEDIR.TAG enthalten.
- --exclude-ignore=DATEI
- sieht vor der Ausgabe eines Verzeichnisses nach, ob sie DATEI enthält. Ist dies der Fall, werden aus dieser Datei ausschließende Muster gelesen. Die Muster betreffen nur das Verzeichnis selbst.
- --exclude-ignore-recursive=DATEI
- ist gleichbedeutend mit --exclude-ignore, außer dass die Muster aus DATEI im Verzeichnis selbst und auch allen Unterverzeichnissen gesucht wird.
- --exclude-tag=DATEI
- schließt den Inhalt von Verzeichnissen aus, welche DATEI enthalten, außer DATEI selbst.
- --exclude-tag-all=DATEI
- schließt Verzeichnisse aus, die die DATEI enthalten.
- --exclude-tag-under=DATEI
- schließt alles unterhalb des Verzeichnisses aus, das DATEI enthält.
- --exclude-vcs
- schließt unter Versionsverwaltung stehende Verzeichnisse aus.
- --exclude-vcs-ignores
- schließt Dateien aus, die auf die Muster von den aus Versionsverwaltungssystemen bekannten »ignore«-Dateien passen. Die Dateien .cvsignore, .gitignore, .bzrignore und .hgignore werden unterstützt.
- -h, --dereference
- folgt symbolischen Links, archiviert die Dateien und gibt sie aus, auf die sie zeigen.
- --hard-dereference
- folgt harten Links, archiviert die Dateien und gibt sie aus, auf die sie sich beziehen.
- -K, --starting-file=ELEMENT
- beginnt beim angegebenen Element im Archiv.
- --newer-mtime=ZEITSTEMPEL
- arbeitet mit Dateien, deren Daten nach dem Datum geändert wurden. Falls Datum mit einem / oder . beginnt, wird es als Dateiname genommen. Die Mtime dieser Datei wird als Datum benutzt.
- --no-null
- deaktiviert den Effekt der vorherigen Option --null.
- --no-recursion
- verhindert das automatische Hinabsteigen in Verzeichnisstrukturen.
- --no-unquote
- entfernt keine Maskierungen von Eingabedateien oder Elementnamen.
- --no-verbatim-files-from
- betrachtet jede aus dieser Datei gelesene Zeile so, als sei sie auf der Befehlszeile angegeben worden. Das heißt, führende oder anhängende Leerzeichen werden entfernt, und falls die Zeichenkette mit einem Bindestrich beginnt, wird sie als tar-Befehlszeilenoption angesehen. Dies ist das Standardverhalten. Die Option --no-verbatim-files-from wird als Möglichkeit zur Wiederherstellung nach der Option --verbatim-files-from bereitgestellt. Diese Option ist positionsgebunden: Sie betrifft alle --files-from-Optionen, die danach vorkommen, bis entweder die Option --verbatim-files-from oder das Zeilenende erreicht werden. Dies ist in der Option --no-null impliziert.
- --null
- weist nachfolgende -T-Optionen an, null-terminierte Namen wortgetreu zu lesen (schaltet die Sonderbehandlung von Namen aus, die mit einem Bindestrich beginnen). Siehe auch --verbatim-files-from.
- -N, --newer=ZEITSTEMPEL, --after-date= ZEITSTEMPEL
- speichert nur Dateien, die neuer als DATUM sind. Falls DATUM mit einem / oder . beginnt, wird es als Dateiname genommen. Die Mtime dieser Datei wird als Datum benutzt.
- --one-file-system
- bleibt im lokalen Dateisystem, wenn ein Archiv erstellt wird.
- -P, --absolute-names
- entfernt führende »/« von Dateinamen beim Erstellen von Archiven nicht.
- --recursion
- steigt in Verzeichnisstrukturen hinab (Voreinstellung).
- --suffix=ZEICHENKETTE
- legt eine Sicherheitskopie vor dem Löschen an, wobei die übliche Endung überschrieben wird (»~«, sofern nicht von der Umgebungsvariablen SIMPLE_BACKUP_SUFFIX überschrieben).
- -T, --files-from=DATEI
- Ermittelt die auszulesenden oder zu erstellenden Namen aus DATEI. Falls nicht anders angegeben, muss DATEI eine durch ASCII LF getrennte Liste von Namen enthalten (d.h. ein Name pro Zeile). Die gelesenen Namen werden genauso wie Befehlszeilenargumente behandelt. Bei ihnen werden Maskierungszeichen entfernt und Wörter getrennt und jede Zeichenkette, die mit einem - beginnt, wird als Befehlszeilenoption für tar behandelt. Falls dieses Verhalten nicht gewünscht ist, kann es mit der Option --verbatim-files-from ausgeschaltet werden. Die Option --null weist tar an, dass die Namen in DATEI durch das ASCII- NUL-Zeichen statt durch LF getrennt sind. Dies ist hilfreich, falls die Liste mittels der Option -print0 von find(1) erstellt wurde.
- --unquote
- entfernt Maskierungszeichen für Dateien oder Elemente (Vorgabe).
- --verbatim-files-from
- behandelt jede Zeile, die aus einer Dateiliste erhalten wurde, als Dateiname, selbst wenn sie mit einem Bindestrich beginnt. Dateilisten werden mit der Option --files-from (-T) übergeben. Das Vorgabeverhalten ist, Namen in der Liste so zu handhaben, als ob sie in der Befehlszeile übergeben worden wären, das heißt Namen, die mit einem Bindestrich beginnen, werden als Optionen von tar behandelt. Die Option --verbatim-files-from deaktiviert dieses Verhalten. Diese Option betrifft alle Optionen --files-from, die danach in der Befehlszeile auftreten. Sein Effekt wird mit der Option --no-verbatim-files-from rückgängig gemacht. Diese Option impliziert die Option --null. Siehe auch --add-file.
- -X, --exclude-from=DATEI
- schließt Dateien aus, die auf irgendein Muster in DATEI passen.
Umwandlung von Dateinamen
- --strip-components=ANZAHL
- schneidet ANZAHL führende Komponenten von Dateinamen während des Entpackens ab.
- --transform=AUSDRUCK, --xform=AUSDRUCK
- verwendet den sed-AUSDRUCK zum Ersetzen mit, um Dateinamen zu ändern.
Optionen für Übereinstimmungen von Dateinamen
Diese Optionen sind sowohl in Einbeziehungs- als auch in Ausschlussmustern wirksam.- --anchored
- Muster passen auf den Anfang des Dateinamens.
- --ignore-case
- ignoriert Groß- oder Kleinschreibung.
- --no-anchored
- Muster passen nach jedem / (Vorgabe für Ausschluss).
- --no-ignore-case
- Musterprüfung berücksichtigt Groß-/Kleinschreibung (Vorgabe).
- --no-wildcards
- Zeichenkettenprüfung erfolgt literal.
- --no-wildcards-match-slash
- Metazeichen passen nicht auf /.
- --wildcards
- Metazeichen verwenden (Vorgabe für Ausschluss).
- --wildcards-match-slash
- Metazeichen passen auf / (Vorgabe für Ausschluss).
Informative Ausgabe
- --checkpoint[=N]
- gibt Fortschrittsmeldungen bei jedem Nten Datensatz aus (Voreinstellung 10).
- --checkpoint-action=AKTION
- führt AKTION bei jedem Kontrollpunkt aus.
- --clamp-mtime
- setzt nur dann die Zeit, wenn diese neuer als die mit --mtime angegebene Zeit ist.
- --full-time
- gibt die Dateizeit in der vollen Auflösung aus.
- --index-file=DATEI
- lenkt die ausführliche Ausgabe in DATEI um.
- -l, --check-links
- gibt eine Meldung aus, falls nicht alle Links ausgegeben wurden.
- --no-quote-chars=ZEICHENKETTE
- schaltet das Maskieren von Zeichen aus ZEICHENKETTE aus.
- --quote-chars=ZEICHENKETTE
- maskiert Zeichen aus ZEICHENKETTE zusätzlich.
- --quoting-style=STIL
- setzt den Maskierungsstil für Datei- und Elementnamen. Gültige Werte für STIL sind literal, shell, shell-always, c, c-maybe, escape, locale und clocale.
- -R, --block-number
- zeigt die Blocknummer innerhalb des Archivs mit jeder Meldung an.
- --show-omitted-dirs
- zeigt beim Auflisten oder Entpacken jedes Verzeichnis an, das nicht auf die Suchkriterien passt.
- --show-transformed-names, --show-stored-names
- zeigt Datei- oder Archivnamen nach der Umwandlung mit den Optionen --strip und --transform an.
- --totals[=SIGNAL]
- Die Gesamtzahl an Bytes nach dem Verarbeiten des Archivs ausgeben, mit einem Argument - die Gesamtzahl an Bytes wird ausgegeben, wenn dieses SIGNAL geliefert wird. Erlaubte Signale sind: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 und SIGUSR2. Namen ohne das Präfix SIG werden ebenfalls akzeptiert.
- --utc
- gibt Dateiänderungszeiten in UTC aus.
- -v, --verbose
- ausführlich die verarbeiteten Dateien aufführen. Jedes Vorkommen dieser Option auf der Befehlszeile erhöht die Ausführlichkeitsstufe um eins. Die maximale Ausführlichkeitsstufe ist 3. Für eine detailliertere Besprechung, wie die verschiedenen Ausführlichkeitsstufen die Ausgabe von Tar beeinflussen, lesen Sie bitte das GNU-Tar-Handbuch, Unterabschnitt 2.5.1 » Die Option --verbose«.
- --warning=SCHLÜSSELWORT
- aktiviert oder deaktiviert durch SCHLÜSSELWORT identifizierte Warnungsmeldungen. Die Meldungen werden unterdrückt, falls no- vor das SCHLÜSSELWORT gesetzt wird, ansonsten sind sie aktiviert. Mehrere --warning-Meldungen werden zusammengefasst. Schlüsselwörter, die die allgemeinen Abläufe von tar steuern:
- all
- aktiviert sämtliche Warnmeldungen. Dies ist die Voreinstellung.
- none
- deaktiviert sämtliche Warnmeldungen.
- filename-with-nuls
- "%s: gelesener Dateiname enthält das Zeichen Nul."
- alone-zero-block
- "Ein einsamer Nullblock bei %s"
Für
tar --create anwendbare Schlüsselwörter:
- cachedir
- "%s: Enthält eine Zwischenspeicherverzeichnismarkierung %s: %s"
- file-shrank
- "%s: Datei schrumpfte um %s bytes, wird mit Nullen aufgefüllt."
- xdev
- "%s: Datei ist auf einem anderen Dateisystem; nicht ausgegeben."
- file-ignored
- "%s: Unbekannter Dateityp; Datei wird ignoriert"
- file-unchanged
- "%s: Datei ist unverändert, nicht ausgegeben."
- ignore-archive
- "%s: Datei ist das Archiv, nicht ausgegeben."
- file-removed
- "%s: Die Datei wurde entfernt, bevor sie gelesen werden konnte."
- file-changed
- "%s: Die Datei wurde während des Lesens geändert."
- failed-read
- unterdrückt Warnungen über nicht lesbare Dateien oder Verzeichnisse. Dieses Schlüsselwort gilt nur, falls es zusammen mit der Option --ignore-failed-read verwandt wird.
Für
tar --extract verfügbare Schlüsselwörter:
- existing-file
- "%s: Existierende Datei wird übersprungen."
- timestamp
- "%s: Unplausibler alter Zeitstempel %s."
- contiguous-cast
- "Entpacke fortlaufende Dateien als reguläre Dateien"
- symlink-cast
- "versucht, symbolische Links als harte Links zu entpacken."
- unknown-cast
- "%s: Unbekannter Dateityp »%c«, wird als normale Datei entpackt."
- ignore-newer
- "Aktuelle %s ist neuer oder gleichalt."
- unknown-keyword
- "Unbekanntes erweitertes Kopfzeilenschlüsselwort »%s« wird ignoriert."
- decompress-program
- steuert die ausführliche Beschreibung von Fehlern,
die beim Versuch auftreten, alternative Entpackprogramme zu verwenden.
Diese Warnung ist standardmäßig deaktiviert (außer
--verbose wird verwendet). Ein typisches Beispiel dafür, was
Sie mit der Verwendung dieser Warnungen erhalten könnten:
$ tar --warning=decompress-program -x -f archive.Z tar (Kind): Kann compress nicht ausführen: Datei oder Verzeichnis nicht gefunden tar (Kind): Versuche Gzip
Dies bedeutet, dass tar zuerst versuchte, archive.Z mittels compress zu entpacken und als das fehlschlug, auf gzip umstellte.
- record-size
- "Datensatzgröße = %lu Blöcke"
Schlüsselwörter,
die die schrittweise Entpackung steuern:
- rename-directory
- "%s: Verzeichnis wurde aus %s umbenannt"
- new-directory
- "%s: Verzeichnis ist neu"
- xdev
- "%s: Verzeichnis liegt auf einem anderen Dateisystem: entferne nicht."
- bad-dumpdir
- "Fehlgeformtes Verzeichnis für Dump: „X“ nie benutzt"
- -w, --interactive, --confirmation
- bittet vor jeder Aktion um eine Bestätigung.
Kompatibilitätsoptionen
- -o
- Beim Erstellen identisch zu --old-archive. Beim Auslesen identisch zu --no-same-owner.
Größenendungen
Endung Einheiten Byte-Äquivalent b Blöcke GRÖSSE x 512 B Kilobyte GRÖSSE x 1024 c Byte GRÖSSE G Gigabyte GRÖSSE x 1024^3 K Kilobyte GRÖSSE x 1024 k Kilobyte GRÖSSE x 1024 M Megabyte GRÖSSE x 1024^2 P Petabyte GRÖSSE x 1024^5 T Terabyte GRÖSSE x 1024^4 w Wörter GRÖSSE x 2
RÜCKGABEWERT
Der Exit-Code von Tar zeigt an, ob es die angefragte Aktion erfolgreich durchführen konnte und falls nicht, welche Art von Fehlern aufgetreten ist.- 0
- Erfolgreich beendet.
- 1
- Einige Dateien unterscheiden sich. Falls tar mit der Befehlszeilenoption --compare (--diff, -d) aufgerufen wurde, bedeutet dies, dass einige Dateien in dem Archiv sich von ihren Gegenstücken auf der Platte unterscheiden. Falls Tar eine der Optionen --create, --append oder --update übergeben wurde, bedeutet dieser Exit-Code, dass sich einige Dateien währen der Archivierung geändert haben und daher das Archiv nicht die genaue Kopie der Dateimenge enthält.
- 2
- Fataler Fehler. Dies bedeutet, dass ein fataler, nicht korrigierbarer Fehler auftrat.
SIEHE AUCH
bzip2(1), compress(1), gzip(1), lzma(1), lzop(1), rmt(8), symlink(7), xz(1), zstd(1). Vollständiges Handbuch von tar: Führen Sie info tar aus oder verwenden Sie den Info-Modus von emacs(1) zum Lesen. Online-Versionen der Dokumentation zu GNU tar in verschiedenen Formaten finden Sie hier:http://www.gnu.org/software/tar/manual
FEHLERBERICHTE
Melden Sie Fehler (auf Englisch) an <[email protected]>.COPYRIGHT
Copyright © 2013-2019 Free Software Foundation, Inc.ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Dr. Tobias Quathamer <[email protected]>, Mario Blättermann <[email protected]> und Helge Kreutzmann <[email protected]> erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer13. Juli 2020 | TAR |