Provided by: manpages-de_4.23.1-1_all
BEZEICHNUNG
tar - ein Archivierungswerkzeug
ÜBERSICHT
Traditioneller Aufruf tar {A|c|d|r|t|u|x}[GnSkUWOmpsMBiajJzZhPlRvwo] [ARG …] Aufruf im UNIX-Stil tar -A [OPTIONEN] -f ARCHIV ARCHIV … tar -c [-f ARCHIV] [OPTIONEN] [DATEI …] tar -d [-f ARCHIV] [OPTIONEN] [DATEI …] tar -r [-f ARCHIV] [OPTIONEN] [DATEI …] tar -t [-f ARCHIV] [OPTIONEN] [ELEMENT …] tar -u [-f ARCHIV] [OPTIONEN] [DATEI …] tar -x [-f ARCHIV] [OPTIONEN] [ELEMENT …] Aufruf im GNU-Stil tar {--catenate|--concatenate} [OPTIONEN] --file ARCHIV ARCHIV … tar --create [--file ARCHIV] [OPTIONEN] [DATEI …] tar {--diff|--compare} [--file ARCHIV] [OPTIONEN] [DATEI ] tar --delete [--file ARCHIV] [OPTIONEN] [ELEMENT …] tar --append [--file ARCHIV] [OPTIONEN] [DATEI …] tar --list [--file ARCHIV] [OPTIONEN] [ELEMENT …] tar --test-label [--file ARCHIV] [OPTIONEN] [BEZEICHNUNG …] tar --update [--file ARCHIV] [OPTIONEN] [DATEI …] tar {--extract|--get} [--file ARCHIV] [OPTIONEN] [ELEMENT …]
ANMERKUNGEN
Diese Handbuchseite ist eine Kurzbeschreibung von GNU tar. Detailliertere Erläuterungen einschließlich Beispielen und Empfehlungen für Befehlsaufrufe finden Sie im GNU Tar Manual im Texinfo-Format. Wenn das Anzeigeprogramm info(1) und die Dokumentation zu Tar auf Ihrem System korrekt installiert sind, können Sie mit dem Befehl info 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 https://www.gnu.org/software/tar/manual Falls Sie in dieser Handbuchseite und dem GNU Tar Manual 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 /etc Im 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. Eine Option, die ein Argument akzeptiert (egal ob obligatorisch oder optional), kann 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 /etc oder tar -c -v -f etc.tar /etc Im 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 /etc oder (durch Abkürzung einiger Optionen): tar --cre --file=etc.tar --verb /etc Die 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 Archive 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. -?, --help zeigt eine kurze Zusammenfassung der Optionen an und beendet das Programm. --usage zeigt eine Liste der verfügbaren Optionen an und beendet das Programm. --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. Diese Option 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. Zusätzlich enthalten die folgenden Variablen Informationen über den Aktionsmodus von tar und das zu verarbeitende Archiv: 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 (METHODE=replace; Vorgabe) oder durch Nicht-Setzen der Zeiten (METHODE=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 setzt die Zugriffsrechte der entpackten Dateien genauso, wie sie im Archiv existieren (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 teilt tar mit, dass die Liste der Namen der zu verarbeitenden Dateien auf die gleiche Weise wie die Dateien im Archiv sortiert ist. --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 Suchmuster, zum Beispiel schließt --xattrs-exclude='user.*' nur Attribute aus dem Namensraum des Benutzers ein. --xattrs-include=MUSTER gibt das Einbeziehungsmuster für Xattr-Schlüssel an. MUSTER ist ein Suchmuster. 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. Falls das Info-Skript fehlschlägt, beendet sich tar. Anderenfalls beginnt es das Schreiben des nächsten Datenträgers. -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ÖCKEx512 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. Falls CONTROL nicht angegeben wurde, wird der Wert der Umgebungsvariable VERSION_CONTROL genommen. Falls sie nicht gesetzt ist, wird existing angenommen. -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 Manual, Unterabschnitt 2.5.1 »The '--verbose' Option«. --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-Optionen 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" "%s: Socket wird ignoriert" "%s: Door ignoriert" file-unchanged "%s: Datei ist unverändert, nicht ausgegeben." ignore-archive "%s: Archiv kann sich nicht selbst enthalten; nicht gesichert." 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." "%s: Zeitstempel %s ist %s s in der Zukunft." 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" "%s: Verzeichnis wurde 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ährend 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. Falls ein Unterprozess, der von tar aufgerufen wurde, mit einem von Null verschiedenen Exit-Code beendet wurde, beendet sich tar auch mit diesem Code. Dies kann beispielsweise passieren, falls eine Komprimierungsoption (z.B. -z) verwendet wurde und das externe Komprimierungsprogramm fehlschlug. Ein weiteres Beispiel ist ein Fehlschlag von rmt während der Datensicherung auf ein Gerät in der Ferne.
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: https://www.gnu.org/software/tar/manual
FEHLERBERICHTE
Melden Sie Fehler (auf Englisch) an <bug-tar@gnu.org>.
COPYRIGHT
Copyright © 2023 Free Software Foundation, Inc. Lizenz GPLv3+: GNU GPL Version 3 oder neuer <http://gnu.org/licenses/gpl.html>. Dies ist freie Software: Sie können sie verändern und weitergeben. Es gibt KEINE GARANTIE, soweit gesetzlich zulässig.
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Dr. Tobias Quathamer <toddy@debian.org>, Mario Blättermann <mario.blaettermann@gmail.com> und Helge Kreutzmann <debian@helgefjell.de> erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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 Übersetzer ⟨debian-l10n-german@lists.debian.org⟩.