Optionen für Linux -Dateikomprimierung und Vergleich

Optionen für Linux -Dateikomprimierung und Vergleich
Komprimierung ist im Allgemeinen eine nützliche Methode, die im Wesentlichen Informationen mit weniger Daten als die ursprüngliche kodiert. Im Fall von Linux gibt es verschiedene Komprimierungsoptionen mit jeweils eigenen Vorteilen.

Eine generische Linux -Distribution bietet Zugriff auf eine Handvoll wirklich nützlicher und einfacher Komprimierungsmechanismen. Dieser Artikel wird sich nur auf sie konzentrieren.

Kompressionstypen

Komprimierung kodiert und repräsentiert Informationen unter Verwendung weniger Bits als ursprünglich. Bei der Dateikomprimierung verwendet eine Komprimierungsmethode einen eigenen Algorithmus und eine mathematische Berechnung, um eine Ausgabe zu erzeugen, die im Allgemeinen geringer ist als die Größe der Originaldatei. Aufgrund der unterschiedlichen Komprimierung und der zufälligen Natur von Dateien kann die Kilometerleistung stark variieren.

Es gibt 2 Arten von Komprimierung.

  • Verlustige Komprimierung: Dies ist eine riskante Komprimierung, die keine Datenintegrität garantiert. Nach dem Komprimieren besteht im Wesentlichen ein Risiko, dass die Originaldatei nicht mit dem komprimierten Archiv rekonstruiert werden kann.
    Ein solides Beispiel für diese Art von Komprimierung ist das bekannte MP3-Format. Wenn ein MP3 aus der ursprünglichen Audio -Datei erstellt wird, ist es deutlich kleiner als die ursprüngliche Quellmusikdatei. Dies führt zu einem Verlust einer gewissen Audioqualität.
  • Verlustfreie Kompression: Dies ist die am weitesten verbreitete Komprimierungstyp. Mit einer "verlustfreien" Komprimierungsmethode kann die Originaldatei aus der komprimierten Datei rekonstruiert werden. Die Komprimierungsmethoden, die ich in diesem Artikel diskutieren werde, sind alles verlustlose Komprimierungsmethoden.

Linux -Komprimierung

Der Großteil der Komprimierungsmethoden ist im Tool erhältlich Teer. Was die "Reißverschluss" -Komprimierung betrifft, werden wir die verwenden Reißverschluss Werkzeug. Angenommen, Ihr System hat bereits über diese Tools installiert.

Zuerst benötigen wir eine Testdatei. Führen Sie den folgenden Befehl aus, um einen zu erstellen.

$ Base64 /dev /urandom | Head -c 20000000> Datei.txt

Es erstellt eine Textdatei mit einer Größe von 20 MB.

Lassen Sie uns nun 10 Kopien der Datei erstellen. Zusammen sind es 200 MB.

ZIP für die Komprimierung

Reißverschluss ist weit verbreitet. Für das Erstellen einer ZIP -Datei benötigt das ZIP -Tool die folgende Befehlsstruktur.

$ Zip .Reißverschluss

Um alle Dateien im Testverzeichnis in einer einzelnen ZIP -Datei zu komprimieren, führen Sie diesen Befehl aus.

$ ZIP -Test.Reißverschluss *

Die Eingangsgröße betrug 200 MB. Nach der Komprimierung ist es jetzt 152 MB!

Standardmäßig wendet das ZIP -Tool die Entlegerkomprimierung an. Es kann jedoch auch die BZIP2 -Kompression verwenden. Darüber hinaus können Sie auch passwortgeschützte Zip-Dateien erstellen! Erfahren Sie mehr über ZIP.

Teer zur Komprimierung unter Linux

Teer ist keine Komprimierungsmethode. Stattdessen wird es am häufigsten zum Erstellen von Archiven verwendet. Es kann jedoch eine Reihe beliebter Komprimierungsmethoden im Archiv implementieren.

Für das Archiv von TAR (auch als „Tarball“ bekannt) gibt es das TAR -Werkzeug. Erfahren Sie mehr über Tar. Im Allgemeinen verwendet das TAR -Tool die folgende Befehlsstruktur.

$ tar

Um die Testdateien in ein einzelnes Teerarchiv hinzuzufügen, führen Sie den folgenden Befehl aus.

$ TAR -CVF -Test.Teer *

Hier bleibt die Dateigröße gleich.

GZIP für die Komprimierung unter Linux

GNU ZIP oder GZIP ist eine weitere beliebte Komprimierungsmethode, die meiner Meinung nach aufgrund seiner besseren Komprimierung besser ist als der traditionelle Reißverschluss. Es ist ein Open-Source-Produkt, das von Mark Adler und Jean-Loup Gailly erstellt wurde und ursprünglich dazu bestimmt war, die Unix zu ersetzen Kompresse Dienstprogramm.

Für die Verwaltung von GZIP -Archiven stehen 2 Tools zur Verfügung: TAR und GZIP. Schauen wir uns beide an.

Erstens das GZIP -Tool. So sieht die GZIP -Befehlsstruktur aus.

$ gzip

Beispielsweise ersetzt der folgende Befehl Test1.txt mit test1.txt.GZ -komprimierte Datei.

$ gzip -v test1.txt

Wenn Sie ein ganzes Verzeichnis mit GZIP komprimieren möchten, führen Sie diesen Befehl aus. Hier ist die "-r" -Flag für die "rekursive" Komprimierung. GZIP durchläuft alle Ordner und komprimiert die einzelnen Dateien in jedem von ihnen.

$ gzip -r

GZIP unterstützt einen verschiedenen Kompressionsstärkerwert, beginnend von 1 (am wenigsten Komprimierung, schnellste) bis 9 (beste Komprimierung, langsamste).

$ gzip -v -9

Für eine bessere Kontrolle über die Ausgabe und die Benutzerfreundlichkeit ist TAR besser für die Aufgabe. Führen Sie den folgenden Befehl aus.

$ tar -cvzf Test.Teer.gz *

Das Ergebnis ähnelt ZIP unter Verwendung von Deflate, was zu 152 MB nach der Komprimierung führt.

BZIP2 zur Komprimierung unter Linux

BZIP2 ist ein kostenloses und Open-Source. BZIP2, das 1996 erstmals eingeführt wurde, wird stark als Alternative zur GZIP -Komprimierung verwendet.

Wie GZIP gibt es 2 Werkzeuge, die mit BZIP2: TAR und BZIP2 arbeiten können.

Das BZIP2 -Tool funktioniert ähnlich dem GZIP -Tool. Es kann jeweils nur mit einer einzelnen Datei funktionieren. Hier ist die Befehlsstruktur.

$ BZIP2

Lassen Sie uns den Test1 komprimieren.TXT -Datei. Hier ist das "-v" -Flag für den ausführlichen Modus.

$ BZIP2 -v Test1.txt

Ähnlich wie bei GZIP unterstützt BZIP2 auch eine unterschiedliche Komprimierungsstufe, beginnend von 1 (Standard, weniger Speicherverbrauch) bis 9 (extreme Komprimierung, hoher Speicherverbrauch).

$ BZIP2 -v -9

Der bessere Weg zur Verwendung von BZIP2 -Komprimierung ist die Verwendung von Tar. Verwenden Sie den folgenden Befehl.

$ tar -cvjf Test.Teer.bz2 *

Die Komprimierung wird leicht verbessert als die vorherigen. Jetzt ist die Dateigröße auf 151 geschrumpft.7 MB.

XZ für die Komprimierung unter Linux

Es ist ein relativer Neuling im Bereich der Komprimierung. Seitdem hat es 2009 ein stetiges Gebrauchswachstum verzeichnet.

Das XZ -Komprimierungswerkzeug verwendet den LZMA2. Dies ist jedoch mit den Kosten für höhere Speicheranforderungen und Zeitverbrauch verbunden.

Die vom XZ -Komprimierungstool erstellte Datei hat die Erweiterung .xz. Zum Komprimieren einer einzelnen Datei können Sie das XZ -Tool direkt aufrufen.

$ xz

Führen Sie beispielsweise den folgenden Befehl aus, um den Test1 zu komprimieren.TXT -Datei.

$ xz -v test1.txt

Ähnlich wie bei anderen erwähnten Komprimierungsmethoden unterstützt XZ auch verschiedene Kompressionsstärke, beginnend von 1 (niedrigster Komprimierung, schnellster) bis 9 (beste Kompression, langsamste). Wenn Sie keine Zeit für die Zeit haben und nur Platz sparen möchten, dann gehen Sie für das Extrem.

$ xz -v -9

Führen Sie diesen Befehl aus, um eine komprimierte XZ -Datei aus allen Testdateien auszuführen.

$ tar -cvjf Test.Teer.xz *

Hier beträgt die Größe der Ausgabedatei 153.7 MB.

Extrahieren komprimierter Archive

Das Extrahieren der von uns erstellten Archive ist einfacher als das Erstellen. Verwenden Sie die folgende Befehlsstruktur, um eine ZIP -Datei zu extrahieren, um die folgende Befehlsstruktur zu extrahieren.

$ unzip .ZIP -D

Um das von uns erstellte ZIP -Archiv zu extrahieren, führen Sie diesen Befehl aus. Dadurch wird alle Inhalte im selben Verzeichnis extrahiert.

$ Unzip -Test.Reißverschluss

Zum Extrahieren von Teer, Teer.GZ, Teer.BZ2 und Teer.XZ -Archive müssen wir die verwenden Teer Werkzeug. Der folgende TAR -Befehl gilt für die Extraktion aller von ihnen.

$ tar -xvf

Lassen Sie uns beispielsweise alle Dateien aus dem bz2 -komprimierten Archiv extrahieren.

$ tar -xvf Test.Teer.BZ2

Einen GZIP zu dekomprimieren (nicht Teer.GZ) Datei, führen Sie diesen Befehl aus.

$ gzip -d

In ähnlicher Weise dekomiert der folgende Befehl das BZIP2 -Archiv.

$ BZIP2 -d

Die gleiche Befehlsstruktur gilt für das XZ -Archiv.

$ xz -d

Abschließende Gedanken

Hoffentlich haben Sie jetzt genügend Wissen, um die Komprimierungsaufgaben unter verschiedenen Umständen zu erledigen. Abhängig von der spezifischen Anforderung bieten alle Komprimierungsmethoden sehr attraktive Funktionen.

Eine wichtige Sache zu beachten ist, dass das Komprimierungsergebnis nicht immer gleich ist. Bei unterschiedlichen Dateneingaben ist die Ausgabe unterschiedlich. In einigen Fällen kann XZ beispielsweise ein verrücktes Komprimierungsergebnis liefern, während es in diesem Beispiel dies nicht getan hat. Gleiches gilt für andere Methoden.

Um diese Tools ausführlicher zu erfahren, lesen Sie ihre jeweilige Mannseite.

$ MAN ZIP