Enttarnen einer Datei unter Linux
Das Extrahieren von .tar-, .tar.gz-, .tar.bz2- und anderen Tarball-Dateien ist eine grundlegende Fähigkeit in der Linux-Systemadministration und in DevOps-Workflows. Auch wenn tar auf den ersten Blick einfach erscheint, können Power-User erweiterte Flags und Techniken für Leistung, Skripting und fein abgestufte Kontrolle nutzen.
Dieses Handbuch führt Sie durch alles, von der grundlegenden Dekomprimierung bis hin zur bedingten Extraktion, Benchmarking und dem Umgang mit beschädigten Archiven.
Was ist eine .tar-Datei?
Eine .tar-Datei (kurz für Tape Archive) ist ein konsolidiertes Archiv, das mehrere Dateien zu einer einzigen zusammenfasst, wobei Dateistruktur, Berechtigungen und Zeitstempel erhalten bleiben. Es wird standardmäßig nicht komprimiert. Die Komprimierung erfolgt oft mit Formaten wie .gz, .bz2, .xz oder .zstd.
Grundlegende Extraktionsbefehle
1. Extrahieren einer .tar-Datei (keine Komprimierung)
2. Entpacken einer .tar.gz- oder .tgz-Datei
3. Entpacken einer .tar.bz2-Datei
4. Entpacken einer .tar.xz-Datei
5. Entpacken einer .tar.zst-Datei (Zstandard)
Allgemeine erweiterte Flags
Kennzeichen | Funktion |
---|---|
-x | Auszug |
-f | Archivdatei verwenden |
-v | Ausführliche Ausgabe (Dateien auflisten) |
-C | Vor der Extraktion in das Verzeichnis wechseln |
–strip-Komponenten=N | N führende Pfadelemente entfernen |
–Wildcards | Wildcard-Filterung einschalten |
–no-same-owner | Wechselnde Dateibesitzer beim Extrahieren vermeiden |
–überschreiben | Erzwingen des Überschreibens ohne Eingabeaufforderung |
–exclude=PATTERN | Ausschluss von Dateien, die dem Muster entsprechen |
Erweiterte Beispiele
In ein bestimmtes Verzeichnis extrahieren
Ordner der obersten Ebene entfernen (Struktur reduzieren)
Bestimmte Dateien extrahieren
Übereinstimmende Muster mit Platzhaltern extrahieren
Extrahieren unter Ausschluss einiger Pfade
Benchmark der Extraktionszeit
Behandlung von Randfällen
? Die Datei ist beschädigt
Verwenden Sie tar mit –ignore-zeros, um beschädigte Blöcke zu überspringen:
? Archiv vor dem Entpacken inspizieren
Integrität testen (für gzip-komprimierte Tarballs)
Skripting-Tipps für Sysadmins
Verwenden Sie tar in Sicherungs-/Wiederherstellungsskripten:
Oder automatisch entpacken und installieren:
#!/bin/bash
SRC="$1"
DEST="$2"
mkdir -p "$DEST"
tar -xzf "$SRC" -C "$DEST" --strip-components=1
Tar-Dateien sind von zentraler Bedeutung für Linux-Pakete, Backups und die Bereitstellung. Durch die Beherrschung von Extraktionsflags und die Integration von tar in Skripte können Sie Archive mit chirurgischer Präzision manipulieren – extrahieren Sie nur das, was Sie brauchen, bewahren Sie Eigentumsrechte, reduzieren Sie Pfade oder automatisieren Sie ganze Arbeitsabläufe.
Kurzreferenz
# Basic
tar -xf file.tar # No compression
tar -xzf file.tar.gz # Gzip
tar -xjf file.tar.bz2 # Bzip2
tar -xJf file.tar.xz # XZ
tar --use-compress-program=unzstd -xf file.tar.zst # Zstandard
# Common options
tar -xvf archive.tar # Verbose
tar -C /target/dir -xf file.tar.gz # Extract to folder
tar --strip-components=1 -xf file.tar.gz # Remove top-level dir