Implementierungsprinzip und Codebeispiele für die Komprimierungsdatei des Linux-Befehls gzip

Implementierungsprinzip und Codebeispiele für die Komprimierungsdatei des Linux-Befehls gzip

gzip ist ein Befehl, der in Linux-Systemen häufig zum Komprimieren und Dekomprimieren von Dateien verwendet wird. Die mit diesem Befehl komprimierte neue Datei ist normalerweise mit der Erweiterung „.gz“ gekennzeichnet.

Ich möchte noch einmal betonen, dass der Befehl gzip nur zum Komprimieren von Dateien und nicht von Verzeichnissen verwendet werden kann. Selbst wenn ein Verzeichnis angegeben wird, können nur alle Dateien im Verzeichnis komprimiert werden.

Das grundlegende Format des gzip-Befehls ist wie folgt:

[root@localhost ~]# gzip [Optionen] Quelldatei

Die Quelldatei im Befehl bezieht sich beim Ausführen eines Komprimierungsvorgangs auf eine allgemeine Datei und beim Ausführen eines Dekomprimierungsvorgangs auf eine komprimierte Datei. Die häufig verwendeten Optionen dieses Befehls und ihre Bedeutungen sind in Tabelle 1 aufgeführt.

Tabelle 1 Allgemeine Optionen und Bedeutungen des gzip-Befehls

Optionen Bedeutung
-C Drucken Sie die komprimierten Daten auf die Standardausgabe und behalten Sie die Originaldatei bei.
-D Dekomprimieren Sie die komprimierte Datei.
-R Komprimiert rekursiv alle Dateien im angegebenen Verzeichnis und seinen Unterverzeichnissen.
-v Für jede komprimierte und dekomprimierte Datei werden der entsprechende Dateiname und das Komprimierungsverhältnis angezeigt.
-l Für jede komprimierte Datei werden die folgenden Felder angezeigt:
  • Die Größe der komprimierten Datei;
  • Die Größe der unkomprimierten Datei;
  • Kompressionsverhältnis;
  • Der Name der unkomprimierten Datei.
-Nummer Wird verwendet, um die Komprimierungsstufe festzulegen, wobei -1 die niedrigste Komprimierungsstufe und das schlechteste Komprimierungsverhältnis ist, -9 das höchste Komprimierungsverhältnis. Das Standardkomprimierungsverhältnis beträgt -6.

【Beispiel 1】Grundlegende Komprimierung

Der Komprimierungsbefehl gzip ist sehr einfach. Sie müssen nicht einmal den Namen des komprimierten Pakets angeben. Sie müssen nur den Namen der Quelldatei angeben. Versuchen wir es:

[root@localhost ~]# gzip install.log
#Install.log-Datei komprimieren
[root@localhost ~]# ls
anaconda-ks.cfg install.log.gz install.log.syslog
#Die komprimierte Datei wird generiert, aber die Quelldatei verschwindet ebenfalls

【Beispiel 2】 Quelldateikomprimierung beibehalten

Wenn Sie eine Datei mit dem Befehl gzip komprimieren, verschwindet die Quelldatei und es entsteht eine komprimierte Datei. Zu diesem Zeitpunkt leiden manche Menschen an einer Zwangsstörung und fragen den Autor: Ist es möglich, das Verschwinden der Quelldatei beim Komprimieren der Datei zu verhindern? Nun, es ist möglich, aber es ist umständlich.

[root@localhost ~]# gzip -c anaconda-ks.cfg >anaconda-ks.cfg.gz
#Verwenden Sie die Option -c, geben Sie die komprimierten Daten jedoch nicht auf dem Bildschirm aus, sondern leiten Sie sie in die komprimierte Datei um, sodass die Datei komprimiert werden kann, ohne die Quelldatei zu löschen
[root@localhost ~]# ls
anaconda-ks.cfg anaconda-ks.cfg.gz install.log.gz install.log.syslog
#Sie können sehen, dass sowohl die komprimierte Datei als auch die Quelldatei vorhanden sind

【Beispiel 3】 Verzeichnis komprimieren

Wir könnten davon ausgehen, dass der Befehl gzip Verzeichnisse komprimieren kann. Versuchen wir es:

[root@localhost ~]# mkdir test
[root@localhost ~]# Touch-Test/Test1
[root@localhost ~]# Touch-Test/Test2
[root@localhost ~]# touch test/test3 #Erstellen Sie ein Testverzeichnis und erstellen Sie darin mehrere Testdateien
[root@localhost ~]# gzip -r test/
#Komprimieren Sie das Verzeichnis und es wird kein Fehler gemeldet
[root@localhost ~]# ls
anaconda-ks.cfg anaconda-ks.cfg.gz install.log.gz install.log.syslog Test
#Aber ich habe festgestellt, dass das Testverzeichnis noch existiert und nicht in eine komprimierte Datei konvertiert wurde
[root@localhost ~]# ls test/
test1.gz test2.gz test3.gz
#Der ursprüngliche gzip-Befehl packt das Verzeichnis nicht, sondern komprimiert alle Unterdateien im Verzeichnis separat

Unter Linux werden Verpackung und Komprimierung separat behandelt. Der Befehl gzip kann nur komprimieren, aber nicht verpacken. Daher gibt es kein Paketverzeichnis und nur die Dateien im Verzeichnis werden komprimiert.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • So zeigen Sie historische Befehle in Linux an und führen sie aus
  • Bringen Sie Ihnen bei, den Linux-Befehlszeilenverlauf auszublenden
  • Aufzeichnungsfunktion für Shell-Verlaufsbefehle in Linux
  • So kommunizieren Sie mit anderen Benutzern über die Linux-Befehlszeile
  • In Linux gibt es keinen Make-Befehl (make: *** Kein Ziel angegeben und keine Makefile- oder Make-Befehlsinstallationsmethode gefunden)
  • Verwendung des Linux-Telnet-Befehls
  • Detaillierte Erklärung zum Anpassen des Linux-Befehlsverlaufs

<<:  Wie implementiert MySQL ACID-Transaktionen?

>>:  Kapselungsmethode der Vue-Breadcrumbs-Komponente

Artikel empfehlen

Was ist BFC? So löschen Sie Floats mithilfe von CSS-Pseudoelementen

BFC-Konzept: Der Blockformatierungskontext ist ei...

Tutorial zur Installation von MySQL 5.7.18 unter Windows 10

In diesem Tutorial erfahren Sie alles über die In...

CnBlogs - Teilen im benutzerdefinierten Blogstil

Nachdem ich die halbe Nacht daran gearbeitet hatt...

Verwendung und Analyse des Mysql Explain-Befehls

Mit dem Befehl „mysql explain“ wird gezeigt, wie ...

So konfigurieren Sie Nginx's Anti-Hotlinking

Experimentelle Umgebung • Eine minimal installier...

Mit CSS3 lässt sich ein umdrehbarer Hover-Effekt erzielen

CSS3 implementiert einen umdrehbaren Hover-Effekt...

Html+css, um reinen Text und Schaltflächen mit Symbolen zu erreichen

Dieser Artikel fasst die Implementierungsmethoden...

So installieren Sie OpenSuse auf Virtualbox

Die virtuelle Maschine wird auf dem Hostcomputer ...

Detaillierte Erläuterung der einfachen Verwendung des MySQL-Abfragecaches

Inhaltsverzeichnis 1. Implementierungsprozess des...

MySQL-Datenbank-Entwicklungsspezifikationen [empfohlen]

Vor Kurzem haben wir SQL zur Optimierung online e...