CodeGym /Kurse /Docker SELF /Archivierung und Komprimierung von Dateien: Kommandos `ta...

Archivierung und Komprimierung von Dateien: Kommandos `tar`, `gzip`, `zip`

Docker SELF
Level 6 , Lektion 4
Verfügbar

Archivierung und Komprimierung von Dateien: Kommandos tar, gzip, zip

1. Was ist Archivierung und Komprimierung?

Was bedeutet Archivierung und warum ist sie wichtig?

Stell dir einen Schrank voller Bücher vor. Um sie kompakt zu lagern, könntest du sie in eine Kiste legen (Archivierung) und mit einem Seil zusammenbinden, um Platz zu sparen (Komprimierung). In der Computerwelt ist Archivierung der Prozess, mehrere Dateien in einem Container (Archiv) zu vereinen, während Komprimierung die Reduzierung seiner Größe bedeutet.

Aber warum braucht man das? Hier sind ein paar Beispiele:

  • Daten speichern: Wenn du Dateien in ein Archiv packst, kannst du sie einfach wie eine einzige Datei bewegen oder kopieren.
  • Datenübertragung: Durch die Komprimierung benötigen die Daten weniger Platz, was die Übertragung im Netzwerk beschleunigt.
  • Backup: Archivierung schützt Daten und macht deren Wiederherstellung einfacher.

Übrigens, hast du jemals versucht, 1000 Dateien per E-Mail zu schicken? Ohne Archivierung ist das eher eine Folter!


2. Befehl tar: Erstellen und Arbeiten mit Archiven

Was ist tar?

tar ist ein Tool zum Archivieren von Dateien in Linux. An sich komprimiert tar Dateien nicht, sondern fasst sie nur zu einer zusammen. Wenn du die Datei komprimieren möchtest, kannst du es mit Kompressionstools kombinieren (gzip, bzip2 usw.).

Allgemeine Syntax

tar [Optionen] <Archiv> <Dateien/Ordner>

Hauptoptionen

  • -c: Neues Archiv erstellen.
  • -v: Detaillierte Ausgabe der Vorgänge (informiert über alle hinzugefügten Dateien).
  • -f: Bestimmt den Namen des Archivs.
  • -x: Extrahieren von Dateien aus dem Archiv.
  • -t: Zeigt den Inhalt des Archivs an.

Beispiele zur Nutzung

1. Archiv erstellen

tar -cvf archive.tar file1.txt file2.txt
  • Erstellt ein Archiv archive.tar aus zwei Dateien file1.txt und file2.txt.
  • -c: Neues Archiv erstellen.
  • -v: Gibt den gesamten Prozess der Dateihinzufügung im Terminal aus.
  • -f: Gibt an, dass der Archivname archive.tar ist.

2. Ordner archivieren

tar -cvf project.tar /home/user/project
  • Erstellt ein Archiv project.tar, das den gesamten Ordner /home/user/project enthält.

3. Archiv extrahieren

tar -xvf archive.tar
  • Entpackt das Archiv archive.tar in das aktuelle Verzeichnis.

4. Inhalt des Archivs anzeigen

tar -tvf archive.tar
  • Zeigt die Liste der Dateien und Ordner im Archiv an.

3. Komprimieren mit gzip

Was macht gzip?

Wenn tar eine Box ist, dann ist gzip ein Vakuumbeutel, der ihre Größe reduziert. gzip komprimiert Daten mit Hilfe von Komprimierungsalgorithmen, wodurch es ein ideales Tool zum Platzsparen ist.

Allgemeine Syntax

gzip [optionen] <datei>

Beispiele für die Verwendung

1. Komprimieren einer Datei

gzip file1.txt
  • Nach der Ausführung des Befehls wird die Datei file1.txt in file1.txt.gz umgewandelt.

2. Entpacken einer Datei

gunzip file1.txt.gz
  • Stellt die Originaldatei file1.txt wieder her.

3. Archivieren und Komprimieren mit tar und gzip

tar -czvf archive.tar.gz file1.txt file2.txt
  • Erstellt ein Archiv archive.tar.gz, das die Dateien file1.txt und file2.txt kombiniert und komprimiert.

4. Extrahieren eines komprimierten Archivs

tar -xzvf archive.tar.gz
  • Entpackt und extrahiert den Inhalt des Archivs archive.tar.gz.

4. Das Tool zip zum Erstellen komprimierter Archive

Was ist der Unterschied zu tar?

Im Gegensatz zu tar erstellt zip sofort ein komprimiertes Archiv, das standardmäßig in Windows und anderen Systemen verwendet werden kann.

Allgemeine Syntax

zip [optionen] <archiv> <dateien/ordner>

Anwendungsbeispiele

1. Erstellen eines Zip-Archivs

zip archive.zip file1.txt file2.txt
  • Erstellt das Archiv archive.zip, das die Dateien file1.txt und file2.txt enthält.

2. Archivieren eines Ordners

zip -r project.zip /home/user/project
  • Erstellt das Archiv project.zip, das den gesamten Ordner /home/user/project enthält.
  • -r: Rekursives Hinzufügen von Dateien und Ordnern.

3. Entpacken eines Zip-Archivs

unzip archive.zip
  • Extrahiert den Inhalt des Archivs archive.zip.

5. Unterschiede zwischen tar, gzip und zip

Tool Archivierung Komprimierung Ansatz Hauptanwendung
tar Dateien bündeln Zusammenfügen von Dateien in ein Archiv ohne Komprimierung
gzip Komprimierung Reduzierung der Größe einzelner Dateien oder Archive
zip Alles-in-einem Erstellen von portablen Archiven

6. Praktische Aufgabe

  1. Erstelle ein Archiv backup.tar aus dem Inhalt des Ordners /home/user/documents.
  2. Komprimiere das Archiv mit Hilfe von gzip, um backup.tar.gz zu erhalten.
  3. Entpacke das Archiv in ein anderes Verzeichnis, zum Beispiel /tmp/backup.
  4. Erstelle ein zip-Archiv docs.zip aus den Dateien doc1.txt und doc2.txt.
  5. Versuche, den Inhalt von docs.zip mit dem Befehl unzip zu extrahieren.

7. Typische Fehler und Besonderheiten

1. Fehler "Permission denied" Wenn du versuchst, Dateien zu archivieren, auf die der Zugriff eingeschränkt ist, bekommst du eine Fehlermeldung. Führe den Befehl mit Administratorrechten aus: sudo.

2. Verwirrt von den Optionen? Die Optionen von tar können manchmal verwirrend sein. Denk daran, dass die Reihenfolge wichtig ist: Zum Beispiel musst du zuerst die Aktion -c oder -x angeben und erst dann andere Optionen.

3. Komprimiertes Archiv öffnet sich nicht Wenn du versehentlich eine Komprimierung auf eine bereits komprimierte Datei angewendet hast (z. B. gzip archive.tar.gz), keine Panik. Entpacke sie einfach zweimal.

4. Zu großes Archiv Wenn du den Befehl zip verwendest, schließe temporäre Dateien oder Cache aus, um die Größe des Archivs zu reduzieren: zip -r archive.zip folder -x "*.tmp".

5. Kompatibilitätsprobleme Wenn du eine Datei an einen Windows-Benutzer weitergeben musst, bevorzuge zip, da es in diesem Betriebssystem besser unterstützt wird.

So haben wir die Archivierung und Komprimierung von Daten unter Linux gemeistert. Diese Tools werden dir helfen, die Arbeit mit großen Datenmengen zu vereinfachen, sie zu übertragen und vor Verlust zu schützen. Weiter zur nächsten Lektion – du wirst immer mehr Wissen ansammeln! 🎉

Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION