GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Komprimierungs- und Archivierungsmethoden in Linux

Dieser Artikel erklärt, wie Sie Dateiarchive unter Linux® mit verschiedenen Methoden erstellen und extrahieren.

In diesem digitalen Zeitalter senden wir häufig Daten über das Internet, insbesondere zur Datenverteilung. Wenn wir große Datenmengen senden müssen, müssen wir sie oft alle auf einmal senden.

Daher brauchen wir eine Möglichkeit, mehrere Dateien, Dokumente oder Bilder in einer einzigen Datei zu senden. Nicht nur das, wir brauchen auch eine Möglichkeit, die Daten effizient und ohne Bandbreitenverlust im Prozess bereitzustellen. Daher entstanden Verfahren zum Komprimieren von Daten vor dem Senden. Da die komprimierten Dateien kleiner sind, ermöglichen uns diese Methoden, Dateien schneller zu versenden. Die kleinere Größe spart auch Platz auf Festplatten.

Datenkomprimierung und Linux sind sicherlich keine Fremden. Falls Ihnen schon einmal aufgefallen ist, dass .xyz am Ende eines Pakets, das Sie aus einem Linux-Repository installiert haben, dann haben Sie ein Beispiel für Linux-Datenkomprimierung gesehen.

Während mehrere Methoden der Datenkomprimierung zur Verfügung stehen, sind die gebräuchlichsten unter Linux:

  • .zip-Dateien
  • .tar-Dateien
  • .tar.gz-Dateien
  • .tar.bz2-Dateien

zip

Diese spezielle Methode ist heute wahrscheinlich die bekannteste und am häufigsten verwendete, wenn es um die Archivierung oder Komprimierung von Dateien geht. Die Tatsache, dass es plattformübergreifend zugänglich ist, gibt dieser Methode einen Vorteil gegenüber anderen. Sie können unabhängig vom Betriebssystem auf eine ZIP-Datei zugreifen und diese öffnen, da Linux, Windows® und MacOS® alle ZIP-Dateien standardmäßig unterstützen.

Das folgende Beispiel zeigt die grundlegende Syntax zum Komprimieren einer Datei mit zip:

$ zip -r <name of the zip file>.zip <directory or file(s) you want to compress>

Sie können Verzeichnisse auch komprimieren. Die folgenden Beispiele zeigen, wie Sie mit der Datei example.txt ein ZIP-Archiv erstellen und ein weiteres Zip-Archiv mit dem Verzeichnis Bilder :

$ zip examples.zip example.txt
$ zip -r pictures.zip /home/user/Pictures/

Beide Befehle erstellen eine komprimierte .zip Datei. Das -r Mit dieser Option können Sie alle Dateien und Unterverzeichnisse rekursiv in die Bilder einschließen Verzeichnis in der komprimierten Datei. Während Sie den kursiven Schalter für einzelne Dateien nicht benötigen, benötigen Sie ihn für ein Verzeichnis. Das -r stellt sicher, dass alles, was sich in diesem Verzeichnis befindet, in der resultierenden .zip enthalten ist Datei.

Sie können einige der Dateien in dem Verzeichnis, das Sie archivieren möchten, ausschließen. Angenommen, Sie möchten die Bilder komprimieren Verzeichnis, aber Sie möchten nur .jpg-Dateien einschließen.

Nach dem Verzeichniswechsel zu Bilder , geben Sie den folgenden Befehl ein:

$ zip -r pictures.zip ‘*.jpg’

Dieser Befehl durchsucht Bilder , schließt alle Nicht-JPG-Dateien aus und komprimiert nur .jpg Dateien in pictures.zip .Dieses Konzept funktioniert mit jedem Dateiformat (.txt, .doc usw.).

Wenn Sie eine gezippte Datei (.zip ), verwenden Sie den folgenden Befehl, um diese Datei unter Linux zu entpacken:

$ unzip pictures.zip

Was ist, wenn Sie die Datei in Ihr Bilderverzeichnis entpacken möchten und sich derzeit in einem anderen Verzeichnis befinden?Verwenden Sie den folgenden Befehl:

$ unzip pictures.zip -d /home/user/Pictures

Alle in der ZIP-Datei enthaltenen Dateien werden in das Verzeichnis Ihrer Wahl extrahiert, wenn Sie die Option -d hinzufügen. Andernfalls unzip entpackt die Dateien standardmäßig in Ihr aktuelles Verzeichnis.

tar

Hinweis: Im Gegensatz zu den anderen Archivierungsoptionen ist tar Befehl komprimiert .tar nicht Dateien. tar bündelt die Dateien einfach in einer einzigen archivierten Datei. Wenn Sie also jemals eine Datei sehen, die nur auf „.tar“ endet, wissen Sie bereits, dass der Archivierungsprozess keine Komprimierung auf die in diesem Archiv enthaltenen Dateien angewendet hat.

Der tar Der Befehl hat ein paar mehr Optionen als der Befehl zip. Die am häufigsten verwendeten Optionen für den tar-Befehl umfassen die folgenden:

  • -c :erstellt eine neue .tar Archivdatei
  • -v :Zeigt ausführlich den tar-Prozess an, sodass Sie alle Schritte des Prozesses sehen können
  • -f :gibt den Dateinamentyp der Archivdatei an
  • -x :extrahiert Dateien aus einer bestehenden .tar Datei

Das folgende Beispiel zeigt die grundlegende Syntax von tar Befehl zum Erstellen eines Archivs:

$ tar -cvf <name of archive file>.tar <directory to archive or files to archive>

Verwenden Sie den folgenden Befehl, um die Bilder zu archivieren Verzeichnis:

$ tar -cvf pictures.tar /home/user/Pictures

Um eine bereits vorhandene .tar-Archivdatei zu extrahieren, ersetzen Sie -c mit einem -x , wie das folgende Beispiel zeigt:

$ tar -xvf <name of archive file>.tar

Wie beim unzip Befehl, tar extrahiert die .tar Inhalte standardmäßig an Ihren aktuellen Standort. Zum Extrahieren von .tar Dateiinhalt woanders, verwenden Sie den folgenden Befehl:

$ tar -xvf (name of archive file).tar -C /path/to/desired/directory/location/

tar.gz

Tar.gz Dateien fügen der Archivfunktion des tar-Befehls Komprimierung hinzu, indem sie gzip verwenden Funktion.

Sie müssen nur das -z hinzufügen Option zum einfachen tar Befehl zum Hinzufügen einer Komprimierung, wie im folgenden Beispiel gezeigt:

$ tar -zcvf <archive name>.tar.gz /directory/you/want/to/compress
OR
$ tar -zcvf <archive name>.tar.gz ‘*.jpg’

Wie bei tar verwenden Sie „-c“, um ein Archiv zu erstellen, und „-x“, um es zu extrahieren, wie im folgenden Beispiel gezeigt:

$ tar -zxvf <archive name>.tar.gz
OR
$ tar -zxvf <archive name>.tar.gz -C /path/to/desired/directory/

tar.bz2

Angenommen, Sie haben ein besonders großes Verzeichnis, das Sie so weit wie möglich komprimieren möchten. Wenn tar.gz zu einer übergroßen Datei führt, versuchen Sie es stattdessen mit tar.bz2. Beachten Sie, dass diese Option etwas länger dauert.

Diese Archivierungsmethode fügt nur eine neue Option hinzu:-j , wie im folgenden Beispiel gezeigt:

$ tar -jcvf <archive name>.tar.bz2 /directory/to/compress
OR
$ tar -jcvf <archive name>.tar.bz2 ‘*.jpg’

Nochmals, um eine .tar.bz2 zu extrahieren Datei, wechseln Sie den -c für -x , wie in den folgenden Beispielen gezeigt:

$ tar -jxvf <archive name>.tar.bz2
OR
$ tar -jxvf <archive name>.tar.bz2 -C /directory/to/extract/to/

Schlussfolgerung

Sie wissen jetzt, wie Sie die gebräuchlichsten verfügbaren Datenkomprimierungstools verwenden. Jede Option hat ihren Platz.

  • Müssen Sie eine komprimierte Datei an jemanden senden, der ein anderes Betriebssystem als Sie verwendet? Versuchen Sie es mit zip.
  • Möchten Sie einige Dateien archivieren, müssen sie aber nicht komprimieren? Verwenden Sie tar.
  • Vielleicht müssen Sie die Dateien doch komprimieren. Verwenden Sie tar.gz.
  • Zu guter Letzt, wenn Sie möchten, dass dieses Verzeichnis so weit wie möglich komprimiert wird, steht Ihnen .tar.bz2 zur Verfügung.

Mit etwas Erfahrung werden Sie sich damit vertraut machen, welches Tool Ihren Anforderungen zu einem bestimmten Zeitpunkt am besten entspricht.


Linux
  1. So erstellen Sie eine passwortgeschützte ZIP-Datei unter Linux

  2. So archivieren Sie Dateien und Verzeichnisse unter Linux [Teil 2]

  3. So leiten Sie die Ausgabe in eine Datei und Stdout in Linux um

  4. So archivieren und komprimieren Sie Dateien unter Linux

  5. So erstellen Sie ein Linux-kompatibles Zip-Archiv eines Verzeichnisses auf einem Mac

Linux-Dateikomprimierung:Alles, was Sie wissen müssen

Linux-Hostdatei:Wie wird sie bearbeitet und verwendet?

Eine Einführung in Hashing und Prüfsummen in Linux

So entpacken Sie eine Zip-Datei unter Linux [Anfänger-Tutorial]

Reduzieren Sie die Dateigröße von Images in Linux – CLI- und GUI-Methoden

So komprimieren Sie eine Datei unter Linux