15%

15% auf alle Hosting-Dienste sparen

Teste deine Fähigkeiten und erhalte Rabatt auf jeden Hosting-Plan

Benutze den Code:

Skills
Anfangen
04.08.2025

Wie man eine .tar.gz-Datei in Linux entpackt: Vollständiger Leitfaden mit erweiterten Tipps

Die Arbeit mit komprimierten Dateien ist eine tägliche Realität in jeder Linux-Umgebung. Zu den am häufigsten verwendeten Formaten gehört .tar.gz, ein zweistufiges Format, das tar zum Archivieren und gzip zur Komprimierung kombiniert. Egal ob Sie Softwarequellcode entpacken, Sicherungen wiederherstellen oder Konfigurationsdateien auf einem VPS Hosting Server bereitstellen – das effiziente und sichere Handhaben von .tar.gz Archiven ist eine grundlegende Linux-Fähigkeit.

Dieser Leitfaden behandelt alles vom grundlegenden Extraktionsbefehl bis zu fortgeschrittenen Techniken für große Archive, Sicherheitshärtung und Best Practices beim Scripting.

Was ist eine .tar.gz Datei?

Eine .tar.gz Datei – oft auch Tarball genannt – wird in zwei Schritten erstellt:

  1. tar bündelt mehrere Dateien und Verzeichnisse in einem einzigen Archiv (.tar)
  2. gzip komprimiert dieses Archiv, um seine Größe zu reduzieren (.tar.gz oder .tgz)

Häufige Anwendungsfälle

  • Verteilung von Softwarequellcode
  • Verpackung von Konfigurationsdateien und Sicherungen
  • Archivierung von Protokolldateien für die Langzeitspeicherung
  • Übertragung großer Verzeichnisbäume zwischen Servern

Beispieldateiname: project-files.tar.gz

Grundlegender Extraktionsbefehl

Der Standardbefehl zum Extrahieren einer .tar.gz Datei ist:

tar -xvzf file.tar.gz

Flag-Aufschlüsselung

FlagBedeutung
-xDateien aus dem Archiv extrahieren
-vAusführlicher Modus – listet jede Datei beim Extrahieren auf
-zDekomprimierung mit gzip
-fGibt den Dateinamen an, mit dem gearbeitet werden soll

Dieser einzelne Befehl bewältigt die große Mehrheit der alltäglichen Extraktionsaufgaben.

In ein bestimmtes Verzeichnis extrahieren

Standardmäßig extrahiert tar Dateien in das aktuelle Arbeitsverzeichnis. Um die Ausgabe an einen bestimmten Ort umzuleiten, verwenden Sie das Flag -C:

tar -xvzf file.tar.gz -C /path/to/target-directory

> Hinweis: Das Zielverzeichnis muss bereits vorhanden sein. Erstellen Sie es zuerst mit mkdir -p /path/to/target-directory falls erforderlich.

Dieser Ansatz ist besonders nützlich in automatisierten Bereitstellungsskripten oder beim Organisieren mehrerer Archive auf einem Produktionsserver.

Archivinhalt vor dem Extrahieren anzeigen

Bevor Sie ein Archiv extrahieren – besonders eines aus einer unbekannten Quelle – ist es eine gute Praxis, seinen Inhalt zuerst zu überprüfen:

tar -tvzf file.tar.gz

Das Flag -t listet alle Dateien und Verzeichnisse im Archiv auf, ohne etwas zu extrahieren. Dies hilft Ihnen:

  • Die interne Verzeichnisstruktur zu verstehen
  • Versehentliches Überschreiben vorhandener Dateien zu vermeiden
  • Verdächtige oder unerwartete Pfade zu erkennen

Spezifische Dateien oder Verzeichnisse extrahieren

Sie müssen nicht immer ein gesamtes Archiv extrahieren. Um eine einzelne Datei oder einen Ordner zu extrahieren, geben Sie seinen Pfad genau so an, wie er im Archiv angezeigt wird:

tar -xvzf file.tar.gz path/to/specific-file.txt

Um den genauen internen Pfad zu finden, führen Sie zuerst den Befehl --list aus:

tar -tvzf file.tar.gz | grep filename

> Wichtig: Verwenden Sie den relativen Pfad, der in der Archivauflistung angezeigt wird, nicht einen absoluten Pfad, der mit / beginnt.

Sicherheitsüberlegungen beim Extrahieren nicht vertrauenswürdiger Archive

Das Extrahieren von .tar.gz Dateien aus unbekannten oder nicht vertrauenswürdigen Quellen kann ernsthafte Sicherheitsrisiken bergen, einschließlich Path-Traversal-Angriffen, bei denen bösartige Archive kritische Systemdateien überschreiben. Wenden Sie diese Schutzmaßnahmen an:

Verhindern Sie das Überschreiben von Verzeichnissen

tar --no-overwrite-dir -xvzf file.tar.gz

Entfernen Sie führende Pfadkomponenten

Das Flag --strip-components entfernt führende Verzeichnisebenen aus extrahierten Pfaden, was Versuche der Injektion absoluter Pfade neutralisiert:

tar --strip-components=1 -xvzf untrusted-archive.tar.gz

In ein isoliertes Verzeichnis extrahieren

Extrahieren Sie nicht vertrauenswürdige Archive immer in ein dediziertes Sandbox-Verzeichnis und überprüfen Sie den Inhalt, bevor Sie Dateien an ihren endgültigen Bestimmungsort verschieben:

mkdir /tmp/sandbox && tar -xvzf untrusted-archive.tar.gz -C /tmp/sandbox

Diese Praktiken sind besonders wichtig auf gemeinsam genutzter Infrastruktur. Wenn Sie mehrere Websites oder Clients verwalten, erwägen Sie die Verwendung von Shared Web Hosting Umgebungen mit strikten Berechtigungsgrenzen.

Effiziente Handhabung großer Archive

Bei Archiven mit mehreren Gigabyte kann die Standardextraktion wie eine Black Box wirken. Diese Techniken verbessern die Sichtbarkeit und Leistung.

Überwachen Sie den Fortschritt mit pv

pv (Pipe Viewer) zeigt eine Echtzeit-Fortschrittsleiste und Übertragungsgeschwindigkeit an:

pv file.tar.gz | tar xzvf -

Installieren Sie pv falls noch nicht vorhanden:

# Debian/Ubuntu
sudo apt install pv

# CentOS/RHEL/AlmaLinux
sudo dnf install pv

Deaktivieren Sie den ausführlichen Modus für schnellere Extraktion

Beim Extrahieren sehr großer Archive kann das Flag -v die Dinge verlangsamen, indem es Tausende von Dateinamen auf dem Terminal ausgibt. Lassen Sie es weg für bessere Leistung:

tar -xzf file.tar.gz

Verwenden Sie parallele Dekomprimierung mit pigz

Für Multi-Core-Server ersetzt pigz gzip durch eine parallele Implementierung und kann die Dekomprimierungszeit dramatisch reduzieren:

tar -I pigz -xf file.tar.gz

Dekomprimieren Sie in zwei separaten Schritten

Manchmal benötigen Sie eine feinere Kontrolle – zum Beispiel bei der Integration in eine Pipeline oder beim Überprüfen der Zwischendatei .tar vor dem Entpacken. Sie können den Prozess in zwei Befehle aufteilen:

# Step 1: Decompress gzip to get a plain .tar archive
gunzip file.tar.gz

# Step 2: Extract the .tar archive
tar -xvf file.tar

Dieser Ansatz ist nützlich, wenn:

  • Sie die rohe .tar vor der Extraktion überprüfen möchten
  • Ihre Pipeline .tar und .gz Stufen separat verarbeitet
  • Sie die .tar Datei an ein anderes Tool übergeben müssen

Erstellen Sie ein .tar.gz Archiv

Zu wissen, wie man Archive erstellt, ist genauso wichtig wie sie zu extrahieren. Die Syntax spiegelt die Extraktion wider, verwendet aber -c (erstellen) statt -x:

tar -czvf archive-name.tar.gz /path/to/directory/

Schließen Sie spezifische Dateien oder Verzeichnisse aus

tar -czvf archive.tar.gz /path/to/directory/ --exclude='*.log' --exclude='node_modules'

Dies ist wertvoll für die Erstellung sauberer Bereitstellungspakete oder Sicherungen ohne unnötige Ballast.

Automatisieren Sie .tar.gz Operationen in Skripten

Auf Produktionsservern – egal ob Sie einen Dedicated Server oder eine verwaltete VPS betreiben – spart die Automatisierung von Archivoperationen Zeit und reduziert menschliche Fehler.

Beispiel: Automatisiertes Sicherungsskript

#!/bin/bash

BACKUP_DIR="/var/backups"
SOURCE_DIR="/var/www/html"
DATE=$(date +%Y-%m-%d)
ARCHIVE="$BACKUP_DIR/website-backup-$DATE.tar.gz"

mkdir -p "$BACKUP_DIR"
tar -czf "$ARCHIVE" --exclude='*.tmp' "$SOURCE_DIR"

echo "Backup created: $ARCHIVE"

Planen Sie dies mit einem Cron-Job für vollständig automatisierte tägliche Sicherungen:

0 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1

Verwenden Sie GUI-Archive-Manager (Optional)

Wenn Sie in einer Linux-Desktop-Umgebung arbeiten, bieten grafische Tools eine Drag-and-Drop-Alternative:

Desktop-UmgebungArchive Manager
GNOMEFile Roller
KDE PlasmaArk
XfceThunar Archive Plugin

Diese Tools unterstützen .tar.gz nativ und sind für gelegentliche Verwendung geeignet.

15%

15% auf alle Hosting-Dienste sparen

Teste deine Fähigkeiten und erhalte Rabatt auf jeden Hosting-Plan

Benutze den Code:

Skills
Anfangen