Testen Sie Ihre Fähigkeiten mit unseren Hosting-Diensten und erhalten Sie 15% Rabatt!

Code an der Kasse verwenden:

Skills
01.08.2025

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)

tar -xf archiv.tar

2. Entpacken einer .tar.gz- oder .tgz-Datei

tar -xzf archiv.tar.gz

3. Entpacken einer .tar.bz2-Datei

tar -xjf archiv.tar.bz2

4. Entpacken einer .tar.xz-Datei

tar -xJf archiv.tar.xz

5. Entpacken einer .tar.zst-Datei (Zstandard)

tar --use-compress-program=unzstd -xf archive.tar.zst

Allgemeine erweiterte Flags

KennzeichenFunktion
-xAuszug
-fArchivdatei verwenden
-vAusführliche Ausgabe (Dateien auflisten)
-CVor der Extraktion in das Verzeichnis wechseln
–strip-Komponenten=N N führende Pfadelemente entfernen
–WildcardsWildcard-Filterung einschalten
–no-same-ownerWechselnde Dateibesitzer beim Extrahieren vermeiden
–überschreibenErzwingen des Überschreibens ohne Eingabeaufforderung
–exclude=PATTERNAusschluss von Dateien, die dem Muster entsprechen

Erweiterte Beispiele

In ein bestimmtes Verzeichnis extrahieren

tar -xf archive.tar.gz -C /opt/myapp

Ordner der obersten Ebene entfernen (Struktur reduzieren)

tar -xf archive.tar.gz --strip-components=1

Bestimmte Dateien extrahieren

tar -xf archive.tar.gz path/to/file1 path/to/file2

Übereinstimmende Muster mit Platzhaltern extrahieren

tar -xf archive.tar.gz --wildcards '*.conf'

Extrahieren unter Ausschluss einiger Pfade

tar -xf archive.tar.gz --exclude='*.log'

Benchmark der Extraktionszeit

time tar -xf archive.tar.gz

Behandlung von Randfällen

? Die Datei ist beschädigt

Verwenden Sie tar mit –ignore-zeros, um beschädigte Blöcke zu überspringen:

tar -xzf broken.tar.gz --ignore-zeros

? Archiv vor dem Entpacken inspizieren

tar -tf archive.tar.gz # Dateien auflisten

Integrität testen (für gzip-komprimierte Tarballs)

gzip -t archive.tar.gz && echo "Archiv OK"

Skripting-Tipps für Sysadmins

Verwenden Sie tar in Sicherungs-/Wiederherstellungsskripten:

#!/bin/bash
TARGET_DIR="/var/www"
ARCHIVE="/backups/site-$(date +%F).tar.gz"

tar -czf "$ARCHIVE" -C "$TARGET_DIR" . && echo "Backup saved to $ARCHIVE"

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

Testen Sie Ihre Fähigkeiten mit unseren Hosting-Diensten und erhalten Sie 15% Rabatt!

Code an der Kasse verwenden:

Skills