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.xzIn bestimmtes Verzeichnis entpacken
tar -xzvf archiv.tar.gz -C /ziel/verzeichnis/Inhalt anzeigen (ohne entpacken)
tar -tvf archiv.tar.gzBestimmte Dateien extrahieren
tar -xzvf archiv.tar.gz pfad/zu/datei.txtDateien 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 Komprimierungbzip2 - 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.bz2xz - 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.xzVergleich 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/AlmaLinuxzip-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.txt7-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.7zPraktische 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 datenbanknameArchiv ü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.gzArchiv 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.sha256Dateien 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.xzBefehlsü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.