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

OptionBedeutung
-cCreate (erstellen)
-xExtract (entpacken)
-vVerbose (Details anzeigen)
-fFile (Dateiname angeben)
-zgzip-Komprimierung
-jbzip2-Komprimierung
-Jxz-Komprimierung
-tInhalt 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

FormatKomprimierungGeschwindigkeitVerbreitung
gzipGutSchnellSehr hoch
bzip2BesserMittelHoch
xzBesteLangsamSteigend

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

AktionBefehl
.tar erstellentar -cvf archiv.tar verz/
.tar.gz erstellentar -czvf archiv.tar.gz verz/
.tar.bz2 erstellentar -cjvf archiv.tar.bz2 verz/
.tar entpackentar -xvf archiv.tar
.tar.gz entpackentar -xzvf archiv.tar.gz
Inhalt anzeigentar -tvf archiv.tar.gz

zip

AktionBefehl
zip erstellenzip -r archiv.zip verz/
zip entpackenunzip archiv.zip
Inhalt anzeigenunzip -l archiv.zip

Komprimierung

Aktiongzipbzip2xz
Komprimierengzip dateibzip2 dateixz datei
Dekomprimierengunzip datei.gzbunzip2 datei.bz2unxz datei.xz
Ansehenzcat datei.gzbzcat datei.bz2xzcat 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.