Was ist das tar-Befehlsprogramm in Linux?
Das tar-Befehlsprogramm (Tape ARchiver) ist ein robustes und vielseitiges Tool für die Archivierung und Komprimierung von Dateien und Verzeichnissen unter Linux. Es ist ein Standardbefehl, der auf den meisten Linux-Distributionen vorinstalliert ist.
Funktionen von tar
tar bietet eine Reihe leistungsstarker Funktionen:
- Archivierung: Kombiniert mehrere Dateien und Verzeichnisse in einer einzigen Datei, die als Tarball bezeichnet wird. Dies erleichtert die Verwaltung, Übertragung und Sicherung großer Datenmengen.
- Komprimierung: Reduziert die Größe des erstellten Tarballs, um Speicherplatz zu sparen oder die Übertragungszeit zu verkürzen.
- Dekomprimierung: Extrahiert die im Tarball enthaltenen Dateien und Verzeichnisse in den angegebenen Zielort.
Wie funktioniert tar?
tar arbeitet, indem es einen Stream von Daten von einem Eingabegerät (z. B. Festplatte) zu einem Ausgabegerät (z. B. Tarball) erstellt. Dieser Stream enthält sowohl die Inhalte der Dateien als auch Metadaten wie Dateinamen, Berechtigungen und Zeitstempel.
Vorteile der Verwendung von tar
Die Verwendung von tar bietet mehrere Vorteile:
- Einfachheit: tar ist ein einfach zu bedienendes Befehlszeilentool mit einer intuitiven Syntax.
- Flexibilität: tar bietet zahlreiche Optionen, mit denen du deine Archive an verschiedene Anforderungen anpassen kannst.
- Portabilität: Tarballs können auf verschiedenen Plattformen und Systemen problemlos übertragen und verwendet werden.
- Kompatibilität: tar-Archive sind mit einer Vielzahl von anderen Archivierungsprogrammen und -diensten kompatibel.
Verwendung von tar zum Archivieren von Dateien und Verzeichnissen
Tar ist ein vielseitiges Tool, mit dem du Dateien und Verzeichnisse effizient archivieren kannst, um Speicherplatz freizugeben oder Daten für die Sicherung oder Übertragung vorzubereiten. Hier erfährst du, wie du tar zum Archivieren von Dateien und Verzeichnissen verwendest.
Grundlegende Syntax
Um ein Archiv zu erstellen, verwende den folgenden Befehl:
tar -cvf archive.tar dateien_oder_verzeichnisse
Wobei:
-
-c
gibt an, dass du ein Archiv erstellen möchtest. -
-v
aktiviert den ausführlichen Modus, der den Fortschritt der Archivierung anzeigt. -
-f
gibt den Namen und den Speicherort des zu erstellenden Archivs an. -
dateien_oder_verzeichnisse
sind die Dateien oder Verzeichnisse, die du archivieren möchtest.
Ein Verzeichnis archivieren
Um ein Verzeichnis einschließlich aller darin enthaltenen Dateien und Unterverzeichnisse zu archivieren, verwende die folgende Syntax:
tar -cvf archive.tar verzeichnisname
Rekursive Archivierung
Wenn du ein Verzeichnis und alle seine Unterverzeichnisse rekursiv archivieren möchtest, verwende die Option -R
:
tar -cvf archive.tar -R verzeichnisname
Dateien ausschließen
Du kannst bestimmte Dateien oder Verzeichnisse von der Archivierung ausschließen, indem du die Option --exclude
verwendest:
tar -cvf archive.tar --exclude datei_oder_verzeichnis_name dateien_oder_verzeichnisse
Beispiel
Um beispielsweise ein Archiv mit dem Namen backup.tar
zu erstellen, das die Verzeichnisse Dokumente
und Bilder
enthält, mit Ausnahme der Datei README.txt
im Verzeichnis Dokumente
, kannst du den folgenden Befehl verwenden:
tar -cvf backup.tar Dokumente Bilder --exclude Dokumente/README.txt
Compress- und Decompress-Optionen mit tar
Neben der Archivierung bietet tar auch die Möglichkeit, Dateien zu komprimieren und zu dekomprimieren, um Speicherplatz zu sparen. Dies kann besonders beim Sichern oder Übertragen großer Datenmengen von Vorteil sein.
Komprimierung mit tar
Um Dateien zu komprimieren, während du sie archivierst, verwende die Option -z
, die die Gzip-Komprimierung aktiviert. Du kannst auch die Option -j
für die Bzip2-Komprimierung verwenden, die eine höhere Komprimierungsrate bietet, aber etwas langsamer ist.
tar -czvf archiv.tar.gz dateienverzeichnis
tar -cjvf archiv.tar.bz2 dateienverzeichnis
Dekomprimierung mit tar
Wenn du ein komprimiertes Archiv extrahierst, musst du die entsprechende Dekomprimierungsoption angeben. Verwende -z
für Gzip oder -j
für Bzip2.
tar -xzvf archiv.tar.gz
tar -xjvf archiv.tar.bz2
Komprimierungsstufen
Sowohl Gzip als auch Bzip2 unterstützen Komprimierungsstufen, die du mit der Option -n
angeben kannst. Eine höhere Stufe führt zu einer stärkeren Komprimierung, aber auch zu einer längeren Komprimierungszeit.
tar -cznf9 archiv.tar.gz dateienverzeichnis
tar -cjvf9 archiv.tar.bz2 dateienverzeichnis
Weitere Komprimierungsoptionen
Zusätzlich zu Gzip und Bzip2 kannst du mit tar auch andere Komprimierungsalgorithmen verwenden, z. B. LZMA oder XZ. Diese Optionen finden sich in den Paketen xz-utils
und p7zip
.
tar --xz -cf archiv.tar.xz dateienverzeichnis
tar --lzma -cf archiv.tar.lzma dateienverzeichnis
Erzeugen von mehrteiligen Archiven mit tar
Wenn du mit riesigen Datensätzen arbeitest, die nicht in ein einzelnes Archiv passen, kannst du mit tar mehrteilige Archive erstellen. Dies ermöglicht es dir, eine große Anzahl von Dateien und Verzeichnissen in kleinere, überschaubarere Segmente zu unterteilen.
Erstellen eines mehrteiligen Archivs
Um ein mehrteiliges Archiv zu erstellen, verwende die Option -M
zusammen mit der entsprechenden Blockgröße:
tar -cvf --bsize=BLOCKGRÖSSE MEHRTEILIGES_ARCHIV.tar VERZEICHNIS
Dabei ersetzt du BLOCKGRÖSSE
durch die gewünschte Blockgröße in Bytes (z. B. 10240 für 10 MB).
Extrahieren aus einem mehrteiligen Archiv
Das Extrahieren von Dateien aus einem mehrteiligen Archiv erfordert die Verwendung der Option -M
zusammen mit der Angabe der Blockgröße:
tar -xvf --bsize=BLOCKGRÖSSE MEHRTEILIGES_ARCHIV.tar --next-volume=NEUER_VOLUME
Dabei ersetzt du BLOCKGRÖSSE
durch die Blockgröße des mehrteiligen Archivs und NEUER_VOLUME
durch den Pfad zum nächsten Teil des Archivs (z. B. MEHRTEILIGES_ARCHIV.tar.2
).
Vorteile von mehrteiligen Archiven
- Bequeme Handhabung: Mehrteilige Archive können einfacher zu handhaben sein, insbesondere bei großen Datensätzen.
- Fehlertoleranz: Wenn ein Teil des Archivs beschädigt ist, können die verbleibenden Teile wiederhergestellt werden.
- Effiziente Übertragung: Mehrteilige Archive ermöglichen eine schnellere Übertragung über Netzwerke oder externe Speichergeräte.
Extrahieren von Dateien aus einem tar-Archiv
Nachdem du erfolgreich ein tar-Archiv erstellt hast, kannst du Dateien daraus extrahieren. Dies ist ein unkomplizierter Prozess, der mit ein paar einfachen Befehlen durchgeführt werden kann.
Extrahieren aller Dateien
Um alle Dateien aus einem tar-Archiv zu extrahieren, verwendest du die Option -x
:
tar -xvf archive.tar
Diese Aktion entpackt alle Dateien in das aktuelle Verzeichnis. Du kannst ein bestimmtes Verzeichnis zum Entpacken angeben, indem du die Option -C
verwendest:
tar -xvf archive.tar -C /pfad/zum/verzeichnis
Extrahieren ausgewählter Dateien
Wenn du nur bestimmte Dateien aus dem Archiv extrahieren möchtest, kannst du die Option -T
verwenden, um eine Liste der Dateien anzugeben:
tar -xvf archive.tar --files-from dateien.txt
Hierbei ist dateien.txt
eine Textdatei, die die Namen der zu extrahierenden Dateien enthält.
Extrahieren mit Komprimierung
Wenn du ein Archiv extrahierst, das mit einer Komprimierungsmethode wie Gzip oder Bzip2 komprimiert wurde, musst du die entsprechende Option angeben:
- Für Gzip:
-z
- Für Bzip2:
-j
Beispiel für Gzip:
tar -xzvf archive.tar.gz
Ausschluss von Dateien
Wenn du bestimmte Dateien oder Verzeichnisse aus der Extraktion ausschließen möchtest, kannst du die Option --exclude
verwenden:
tar -xvf archive.tar --exclude="ordner/*" --exclude="datei.txt"
Weitere Optionen
Es gibt noch weitere nützliche Optionen, die du beim Extrahieren von tar-Archiven verwenden kannst:
- -i: Interaktiver Modus, bei dem du aufgefordert wirst, jede Datei einzeln zu extrahieren.
- -m: Erhält die Zeitstempel und Berechtigungen der Dateien.
- -v: Ausführliche Ausgabe, die den Fortschritt anzeigt.
Experimentiere mit diesen Optionen, um die für deine spezifischen Anforderungen am besten geeigneten Kombinationen zu finden.
Ausschließen bestimmter Dateien oder Verzeichnisse von der Archivierung
Bei der Archivierung großer Datenmengen kann es vorkommen, dass du bestimmte Dateien oder Verzeichnisse von der Archivierung ausschließen möchtest. Mit tar kannst du ganz einfach Filter angeben, um bestimmte Dateien oder Verzeichnisse von der Archivierung auszuschließen.
Glob-Muster
Eine Möglichkeit, Dateien auszuschließen, besteht darin, Glob-Muster zu verwenden. Glob-Muster sind Platzhalter, die mehrere Dateien oder Verzeichnisse übereinstimmen lassen. Um beispielsweise alle Dateien mit der Erweiterung ".log" auszuschließen, kannst du folgenden Befehl verwenden:
tar -cvf archive.tar --exclude="*.log" *
Reguläre Ausdrücke
Tar unterstützt auch reguläre Ausdrücke zum Ausschließen von Dateien. Reguläre Ausdrücke sind leistungsfähigere Muster als Glob-Muster und ermöglichen es dir, Dateien anhand komplexerer Kriterien auszuschließen. Beispielsweise kannst du den folgenden Befehl verwenden, um alle Dateien auszuschließen, die mit "tmp" beginnen:
tar -cvf archive.tar --exclude="^tmp.*" *
Dateien und Verzeichnisse explizit ausschließen
Wenn du Dateien oder Verzeichnisse explizit vom Archiv ausschließen möchtest, kannst du die Option --exclude-from
verwenden. Diese Option erwartet eine Datei, die eine Liste der auszuschließenden Dateien oder Verzeichnisse enthält. Beispielsweise kannst du eine Datei mit dem Namen exclude.txt
mit folgenden Inhalten erstellen:
tmp/
*.log
Und dann den folgenden Befehl verwenden, um die Dateien auszuschließen:
tar -cvf archive.tar --exclude-from=exclude.txt *
Fazit
Durch das Ausschließen bestimmter Dateien oder Verzeichnisse von der Archivierung kannst du tar-Archive erstellen, die nur die gewünschten Daten enthalten. Glob-Muster, reguläre Ausdrücke und die Option --exclude-from
bieten dir flexible Möglichkeiten, deine Archivvorgänge entsprechend deinen Anforderungen anzupassen.
Passwortschutz für tar-Archive
Möchtest du deine sensiblen Daten in tar-Archiven schützen, kannst du ein Passwort festlegen. Dies verschlüsselt den Inhalt des Archivs und verhindert unbefugten Zugriff.
Erstellen eines passwortgeschützten tar-Archivs
Um ein passwortgeschütztes tar-Archiv zu erstellen, verwendest du die Option -c
(Erstellen) zusammen mit der Option -P
(Passwort):
tar -cvP [Passwort] -f [Archivname] [Dateien/Verzeichnisse]
Beispiel:
tar -cvP meinPasswort -f geheim.tar wichtige_dateien.txt vertrauliche_daten.xls
Extrahieren von Dateien aus einem passwortgeschützten tar-Archiv
Zum Extrahieren von Dateien aus einem passwortgeschützten tar-Archiv benötigst du das Kennwort, das beim Erstellen des Archivs festgelegt wurde:
tar -xvP [Passwort] -f [Archivname]
Beispiel:
tar -xvP meinPasswort -f geheim.tar
Andere Möglichkeiten zum Passwortschutz von tar-Archiven
Neben der Option -P
stehen weitere Möglichkeiten zum Hinzufügen von Passwortschutz zu tar-Archiven zur Verfügung:
- GnuPG: Du kannst die GnuPG-Verschlüsselung verwenden, um tar-Archive zu verschlüsseln.
- OpenSSL: Auch OpenSSL bietet Möglichkeiten zur Verschlüsselung von tar-Archiven.
-
Externe Tools: Es gibt externe Tools wie
tar-encrypt
und7z
, die zusätzliche Optionen für die Verschlüsselung von tar-Archiven bieten.
Die Wahl der Methode hängt von deinen spezifischen Anforderungen und der Verfügbarkeit der Tools auf deinem System ab.
Verwendung von tar mit erweiterten Optionen
Neben den grundlegenden Archivierungs- und Komprimierungsfunktionen bietet tar noch eine Reihe erweiterter Optionen, mit denen du die Funktionalität des Befehls auf verschiedene Weise erweitern kannst.
Erweiterte Archivierungsoptionen
- –exclude=Pfad: Mit dieser Option kannst du bestimmte Dateien oder Verzeichnisse von der Archivierung ausschließen. Dies ist nützlich, um temporäre Dateien oder sensible Daten aus Archiven zu entfernen.
- –no-overwrite-dir: Verhindert das Überschreiben vorhandener Verzeichnisse beim Extrahieren. Dies ist hilfreich, wenn du vermeiden möchtest, dass vorhandene Daten überschrieben werden.
- –atime-preserve: Behält die Zugriffszeit der Dateien im Archiv bei. Dies ist nützlich, um die Metadaten von Dateien beim Archivieren und anschließenden Extrahieren zu bewahren.
Erweiterte Komprimierungsoptionen
- –compress=Algorithmus: Ermöglicht es dir, einen bestimmten Komprimierungsalgorithmus zu verwenden. Zu den verfügbaren Algorithmen gehören bzip2, gzip, lzma, xz und zstd.
- –block-size=Größe: Legt die Blockgröße für die Komprimierung fest. Eine größere Blockgröße kann zu einer höheren Komprimierung führen, aber auch zu langsameren Verarbeitungszeiten.
- –no-same-ownership: Deaktiviert die Beibehaltung der Dateibesitzer und -berechtigungen beim Archivieren und Extrahieren. Dies kann nützlich sein, wenn du Archive zwischen verschiedenen Systemen übertragen möchtest, die unterschiedliche Benutzerkonten verwenden.
Sonstige erweiterte Optionen
- –use-compress-program=Programm: Ermöglicht es, ein externes Komprimierungsprogramm für die Archivierung zu verwenden. Dies ist nützlich, wenn du einen nicht von tar unterstützten Komprimierungsalgorithmus verwenden möchtest.
- –interactive: Fordert dich während des Archivierungs- oder Extraktionsprozesses zur Bestätigung auf. Dies ist nützlich, um versehentliche Vorgänge zu verhindern.
- –version: Zeigt die tar-Versionsinformationen an.
Denke daran, dass einige dieser erweiterten Optionen möglicherweise nicht auf allen Systemen verfügbar sind, da sie von der tar-Implementierung abhängen. Weitere Informationen zu den erweiterten tar-Optionen findest du auf der tar-Manpage (https://linux.die.net/man/1/tar).
Fehlerbehebung bei Problemen mit tar
Häufige Fehlermeldungen
"tar: Error opening archive: Permission denied"
- Prüfe, ob du die erforderlichen Berechtigungen zum Zugriff auf das Archiv hast.
- Verwende den Befehl
sudo
odersu
, um den Befehltar
als Administrator auszuführen.
"tar: Error writing to archive: Disk space is full"
- Prüfe, ob du genügend freien Speicherplatz auf dem Ziellaufwerk hast.
- Lösche nicht benötigte Dateien oder verschiebe das Archiv auf ein anderes Laufwerk mit mehr Speicherplatz.
"tar: Error reading from archive: Invalid checksum"
- Das Archiv ist beschädigt.
- Lade das Archiv erneut herunter oder versuche es aus einer anderen Quelle.
- Verwende den Befehl
tar -J -x -v --same-order --checkpoint=10000
(für xz-komprimierte Archive), um das Archiv zu reparieren.
Häufige Probleme
Die Datei wird nicht extrahiert
- Überprüfe, ob die Datei im Archiv enthalten ist.
- Überprüfe, ob du das richtige Archiv öffnest.
- Verwende die Option
-v
beim Extrahieren, um detailliertere Informationen anzuzeigen.
Das Archiv kann nicht erstellt werden
- Überprüfe, ob du Schreibrechte für das Zielverzeichnis hast.
- Verwende den Befehl
mkdir
odersudo mkdir
zum Erstellen des Zielverzeichnisses.
Das Archiv ist beschädigt
- Verwende ein Archivierungs-Hilfsprogramm wie 7-Zip oder PeaZip, um die Integrität des Archivs zu überprüfen.
- Repariere das Archiv mit dem Befehl
tar -J -x -v --same-order --checkpoint=10000
. - Lade das Archiv erneut herunter oder versuche es aus einer anderen Quelle.
Weitere Ressourcen
Alternativen zum tar-Befehl
Obwohl tar ein vielseitiges Tool ist, sind andere Optionen verfügbar, wenn du nach alternativen Archivierungs- und Komprimierungslösungen suchst.
7-Zip
Beschreibung:
7-Zip ist ein quelloffenes Archivierungs- und Komprimierungsprogramm für Windows, Linux, macOS und Unix-ähnliche Systeme. Es unterstützt eine Vielzahl von Archivformaten, darunter 7z, ZIP, GZIP, BZIP2 und TAR.
Vorteile:
- Hohe Komprimierungsrate
- Unterstützung für Verschlüsselung
- Multithread-Unterstützung für schnellere Komprimierung und Extraktion
WinRAR
Beschreibung:
WinRAR ist eine kommerzielle Archivierungs- und Komprimierungssoftware für Windows. Es ist bekannt für seine leistungsstarke Komprimierungsengine und seine Vielseitigkeit.
Vorteile:
- Hervorragende Komprimierungsrate, insbesondere für Multimedia-Dateien
- Unterstützung für erweiterte Reparaturfunktionen für beschädigte Archive
- Integrierte Dateiverwaltungsfunktionen
PeaZip
Beschreibung:
PeaZip ist ein kostenloser und quelloffener Archivierungs- und Komprimierungsmanager für Windows, Linux und macOS. Es unterstützt über 200 Archivformate und kann Dateien verschlüsseln und in mehrere Teile aufteilen.
Vorteile:
- Intuitive Benutzeroberfläche
- Umfassende Dateiverwaltungsfunktionen
- Unterstützung für Plugin-Erweiterungen
Keka
Beschreibung:
Keka ist eine kostenlose Archivierungs- und Komprimierungs-App für macOS. Sie ist einfach zu bedienen und unterstützt eine Vielzahl von Formaten, darunter ZIP, RAR, 7z und TAR.
Vorteile:
- Schnelles und effizientes Archivieren und Extrahieren
- Unterstützung für Drag-and-Drop
- Einfache Freigabeoptionen für soziale Medien und Cloud-Dienste
Darüber hinaus kannst du folgende Tools in Erwägung ziehen:
- Zip: Ein weit verbreitetes Archivierungsformat, das von den meisten Betriebssystemen unterstützt wird.
- Gzip: Ein Komprimierungsformat, das für die Komprimierung einzelner Dateien konzipiert ist.
- Bzip2: Ein weiteres Komprimierungsformat mit einer höheren Komprimierungsrate als Gzip.