Startseite > Komprimierung/Archivierung > tar

tar: Erstellen und Extrahieren von Dateiarchiven

Ein unverzichtbares Werkzeug zum Bündeln mehrerer Dateien und Verzeichnisse in einer einzelnen .tar-Datei (Archivieren) oder zum Extrahieren der gebündelten Dateien. Es wird häufig in Verbindung mit Komprimierungsfunktionen wie Gzip (-z) oder Bzip2 (-j) verwendet.

Was ist tar?

tar steht für 'Tape Archive' und wurde ursprünglich zur Datensicherung auf Magnetbändern entwickelt. Heute ist es ein Standardwerkzeug unter Linux, um mehrere Dateien und Verzeichnisse zu einer einzigen Datei zu bündeln, um sie einfacher zu verwalten oder zu übertragen. tar selbst bündelt nur Dateien; die Komprimierung wird über separate Optionen (-z, -j, -J) festgelegt.

Wichtige Betriebsmodi

tar arbeitet jeweils in einem Hauptmodus (Erstellen, Extrahieren, Auflisten).

  • -c (Create): Erstellt eine neue Archivdatei.
  • -x (Extract): Extrahiert Dateien aus einer Archivdatei.
  • -t (List): Zeigt den Inhalt (Liste) einer Archivdatei an, ohne sie zu entpacken.
  • -f (File): Gibt die zu bearbeitende Archiv-'Datei' an. Fast bei allen Operationen erforderlich.

Wichtige Optionen (Shell)

tar wird durch die Kombination von Optionen verwendet. Am wichtigsten ist die Auswahl einer der Optionen `-c`, `-x` oder `-t`.

1. Betriebsmodi (einer auswählen)

2. Datei und Komprimierung angeben

3. Ziel und Zusatzfunktionen

Erzeugter Befehl:

Kombinieren Sie die Befehle.

Beschreibung:

`tar` Führen Sie den Befehl aus.

Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.

Anwendungsbeispiele (Shell)

Beispiele für die am häufigsten verwendeten Kombinationen. (Das vorangestellte `-` bei Optionen kann weggelassen werden, es wird jedoch empfohlen, es anzugeben.)

Archiv mit gzip erstellen (.tar.gz)

tar -cvzf backup.tar.gz /home/user/data

c(erstellen), v(verlauf), z(gzip), f(datei) + [Zieldatei] + [Quelle]

gzip-Archiv entpacken (.tar.gz)

tar -xvzf backup.tar.gz

x(extrahieren), v(verlauf), z(gzip), f(datei) + [Archivdatei]

Inhalt eines komprimierten Archivs auflisten (.tar.gz)

tar -tvf backup.tar.gz

t(liste), v(verlauf), f(datei) (modernes tar erkennt -z automatisch)

Archiv in ein bestimmtes Verzeichnis entpacken

tar -xvzf backup.tar.gz -C /opt/restore

Geben Sie den Pfad mit der Option -C an.

Archiv mit bzip2 erstellen (.tar.bz2)

tar -cvjf archive.tar.bz2 ./docs

Verwenden Sie die Option j(bzip2) anstelle von z.

bzip2-Archiv entpacken (.tar.bz2)

tar -xvjf archive.tar.bz2

Archivieren unter Ausschluss bestimmter Dateien/Verzeichnisse

tar -cvzf app.tar.gz ./app --exclude="*.log" --exclude="node_modules"

Verwenden Sie die Option --exclude. (Kann mehrfach verwendet werden)

Installation

tar ist standardmäßig auf fast allen Linux-Distributionen (und macOS) installiert (normalerweise GNU tar). Sollte aus irgendeinem Grund eine Installation erforderlich sein, kann es unter dem Paketnamen 'tar' installiert werden.

Standardmäßig installiert

Eine separate Installation ist selten erforderlich. Überprüfen Sie die Version, indem Sie `tar --version` eingeben.

Debian/Ubuntu (falls erforderlich)

sudo apt update && sudo apt install -y tar

RHEL/CentOS/Fedora (falls erforderlich)

sudo dnf install -y tar

Tipps & Hinweise

Nützliche Tipps

  • 하이픈(-) 생략: Nach alter Konvention können Sie den Bindestrich der ersten Optionsgruppe weglassen, z. B. `tar cvf ...` (z. B. `tar cvf` = `tar -cvf`). Es wird jedoch empfohlen, den Bindestrich zur besseren Übersichtlichkeit anzugeben.
  • 압축 자동 감지: Modernes `tar` erkennt die Komprimierung beim Extrahieren (-x) automatisch anhand der Dateierweiterung, auch ohne die Optionen `-z`, `-j`, `-J`. (z. B. reicht `tar -xf archive.tar.gz` aus.)
  • 권한 보존 (-p): Beim Wiederherstellen nach einer Systemsicherung ist es wichtig, die Option `-p` zu verwenden, um Dateiberechtigungen und Besitzrechte beizubehalten.
  • 경로 문제 (-C): Wenn Sie Dateien an einem anderen Ort als dem aktuellen Speicherort entpacken möchten, ist die Verwendung der Option `-C /pfad` wesentlich effizienter, als die Dateien nachträglich zu verschieben.
  • 절대 경로 주의: Wenn Sie beim Erstellen (-c) Dateien mit absoluten Pfaden wie `/home/user` bündeln, werden diese beim Extrahieren (-x) ebenfalls in diesen absoluten Pfad entpackt. (Modernes tar entfernt aus Sicherheitsgründen manchmal den führenden `/`). Es ist sicherer, relative Pfade zu verwenden, z. B. `cd /home && tar -cvf user.tar ./user`.

Verwandte Befehle

Funktional ähnliche oder häufig zusammen verwendete Befehle.



Gleiche Kategorie Befehle