Archive sind essenziell für Backups, Downloads und Dateitransfer. Linux bietet verschiedene Werkzeuge für unterschiedliche Formate.

tar - Das Unix-Archivierungstool

tar (Tape Archive) kombiniert mehrere Dateien in ein Archiv.

tar-Archiv erstellen

# Archiv erstellen
tar -cvf archiv.tar verzeichnis/

# Mit gzip-Komprimierung (.tar.gz)
tar -czvf archiv.tar.gz verzeichnis/

# Mit bzip2-Komprimierung (.tar.bz2)
tar -cjvf archiv.tar.bz2 verzeichnis/

# Mit xz-Komprimierung (.tar.xz)
tar -cJvf archiv.tar.xz verzeichnis/

Optionen erklärt

| Option | Bedeutung | |--------|-----------| | -c | Create (erstellen) | | -x | Extract (entpacken) | | -v | Verbose (Details anzeigen) | | -f | File (Dateiname angeben) | | -z | gzip-Komprimierung | | -j | bzip2-Komprimierung | | -J | xz-Komprimierung | | -t | Inhalt anzeigen |

tar-Archiv entpacken

# .tar entpacken
tar -xvf archiv.tar

# .tar.gz entpacken
tar -xzvf archiv.tar.gz

# .tar.bz2 entpacken
tar -xjvf archiv.tar.bz2

# .tar.xz entpacken
tar -xJvf archiv.tar.xz

In bestimmtes Verzeichnis entpacken

tar -xzvf archiv.tar.gz -C /ziel/verzeichnis/

Inhalt anzeigen (ohne entpacken)

tar -tvf archiv.tar.gz

Bestimmte Dateien extrahieren

tar -xzvf archiv.tar.gz pfad/zu/datei.txt

Dateien ausschließen

tar -czvf archiv.tar.gz --exclude='*.log' --exclude='cache/' verzeichnis/

gzip/gunzip - Komprimierung

gzip komprimiert einzelne Dateien:

# Komprimieren (ersetzt Original)
gzip datei.txt
# Ergebnis: datei.txt.gz

# Dekomprimieren
gunzip datei.txt.gz
# oder
gzip -d datei.txt.gz

# Original behalten
gzip -k datei.txt

# Komprimierungsgrad (1-9)
gzip -9 datei.txt    # Beste Komprimierung
gzip -1 datei.txt    # Schnellste Komprimierung

bzip2 - Bessere Komprimierung

bzip2 komprimiert stärker als gzip, ist aber langsamer:

# Komprimieren
bzip2 datei.txt
# Ergebnis: datei.txt.bz2

# Dekomprimieren
bunzip2 datei.txt.bz2
# oder
bzip2 -d datei.txt.bz2

xz - Beste Komprimierung

xz bietet die beste Komprimierung, braucht aber am meisten Zeit:

# Komprimieren
xz datei.txt
# Ergebnis: datei.txt.xz

# Dekomprimieren
unxz datei.txt.xz
# oder
xz -d datei.txt.xz

Vergleich der Komprimierungsformate

| Format | Komprimierung | Geschwindigkeit | Verbreitung | |--------|---------------|-----------------|-------------| | gzip | Gut | Schnell | Sehr hoch | | bzip2 | Besser | Mittel | Hoch | | xz | Beste | Langsam | Steigend |

zip/unzip

zip ist das Standard-Format unter Windows und plattformübergreifend verbreitet.

Installation

apt install zip unzip    # Debian/Ubuntu
dnf install zip unzip    # CentOS/AlmaLinux

zip-Archiv erstellen

# Verzeichnis zippen
zip -r archiv.zip verzeichnis/

# Einzelne Dateien
zip archiv.zip datei1.txt datei2.txt

# Mit Passwort
zip -e -r archiv.zip verzeichnis/

zip entpacken

# Entpacken
unzip archiv.zip

# In bestimmtes Verzeichnis
unzip archiv.zip -d /ziel/verzeichnis/

# Inhalt anzeigen
unzip -l archiv.zip

# Einzelne Datei extrahieren
unzip archiv.zip pfad/zur/datei.txt

7-Zip (p7zip)

7z bietet exzellente Komprimierung:

# Installation
apt install p7zip-full

# Archiv erstellen
7z a archiv.7z verzeichnis/

# Entpacken
7z x archiv.7z

# Inhalt anzeigen
7z l archiv.7z

Praktische Beispiele

Website-Backup

# Web-Verzeichnis archivieren
tar -czvf backup_$(date +%Y%m%d).tar.gz /var/www/html/

# Mit Ausschlüssen
tar -czvf backup.tar.gz \
  --exclude='*.log' \
  --exclude='cache/*' \
  --exclude='node_modules' \
  /var/www/projekt/

Datenbank-Backup komprimieren

mysqldump datenbankname | gzip > db_backup.sql.gz

# Wiederherstellen
gunzip < db_backup.sql.gz | mysql datenbankname
# oder
zcat db_backup.sql.gz | mysql datenbankname

Archiv über SSH übertragen

# Direkt archivieren und übertragen
tar -czvf - /var/www/ | ssh user@server "cat > /backup/www.tar.gz"

# Oder mit rsync
rsync -avz /var/www/ user@server:/backup/www/

Große Dateien aufteilen

# In 100MB-Teile aufteilen
split -b 100M archiv.tar.gz archiv.tar.gz.part

# Wieder zusammenfügen
cat archiv.tar.gz.part* > archiv.tar.gz

Archiv mit Prüfsumme

# Archiv erstellen
tar -czvf backup.tar.gz verzeichnis/

# Prüfsumme erstellen
sha256sum backup.tar.gz > backup.tar.gz.sha256

# Prüfsumme verifizieren
sha256sum -c backup.tar.gz.sha256

Dateien komprimiert ansehen

# gzip-komprimierte Textdatei lesen
zcat datei.txt.gz
zless datei.txt.gz
zgrep "suchbegriff" datei.txt.gz

# bzip2
bzcat datei.txt.bz2
bzless datei.txt.bz2

# xz
xzcat datei.txt.xz
xzless datei.txt.xz

Befehlsübersicht

tar

| Aktion | Befehl | |--------|--------| | .tar erstellen | tar -cvf archiv.tar verz/ | | .tar.gz erstellen | tar -czvf archiv.tar.gz verz/ | | .tar.bz2 erstellen | tar -cjvf archiv.tar.bz2 verz/ | | .tar entpacken | tar -xvf archiv.tar | | .tar.gz entpacken | tar -xzvf archiv.tar.gz | | Inhalt anzeigen | tar -tvf archiv.tar.gz |

zip

| Aktion | Befehl | |--------|--------| | zip erstellen | zip -r archiv.zip verz/ | | zip entpacken | unzip archiv.zip | | Inhalt anzeigen | unzip -l archiv.zip |

Komprimierung

| Aktion | gzip | bzip2 | xz | |--------|------|-------|-----| | Komprimieren | gzip datei | bzip2 datei | xz datei | | Dekomprimieren | gunzip datei.gz | bunzip2 datei.bz2 | unxz datei.xz | | Ansehen | zcat datei.gz | bzcat datei.bz2 | xzcat datei.xz |

Best Practices

1. Für Linux-Backups: .tar.gz (guter Kompromiss) 2. Für maximale Komprimierung: .tar.xz 3. Für Windows-Kompatibilität: .zip 4. Immer testen: Archiv nach Erstellung prüfen 5. Prüfsummen: Für wichtige Backups SHA256 erstellen

Fazit

tar mit gzip-Komprimierung ist der Standard für Linux-Backups. zip wird für plattformübergreifenden Austausch verwendet. Für beste Komprimierung wählen Sie xz, für schnellste Verarbeitung gzip.