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

Linux-Dateisysteme erklärt: ext4 und darüber hinaus

Heute werde ich Sie durch die Geschichte von ext4...

Lösung für die falsche Ausrichtung des Eingabecursors in Chrome, Firefox und IE

Detaillierte Erklärung zur Fehlplatzierung des Ein...

border-radius-Methode zum Hinzufügen abgerundeter Ränder zu Elementen

border-radius:10px; /* Alle Ecken sind mit einem ...

...

8 Gründe, warum Sie die Xfce-Desktopumgebung für Linux verwenden sollten

Aus verschiedenen Gründen (einschließlich Neugier...

Beispielanalyse der MySQL-Indexabdeckung

Dieser Artikel beschreibt die MySQL-Indexabdeckun...

Implementierungsbeispiel für den Linux-Befehl „tac“

1. Befehlseinführung Der Befehl tac (umgekehrte R...

Kapitel zur Entwicklung von WeChat-Applets: Fallstricke

Vor kurzem habe ich an der Entwicklung des ersten...

Detaillierte Erklärung zur Installation von MariaDB 10.2.4 auf CentOS7

CentOS 6 und frühere Versionen stellen MySQL-Serv...

Detaillierter Prozess zum Dekomprimieren und Installieren von mysql5.7.17 zip

1. Adresse herunterladen https://dev.mysql.com/do...

Ungewöhnliche, aber nützliche Tags in Xhtml

Xhtml hat viele Tags, die nicht häufig verwendet w...

5 Möglichkeiten, um festzustellen, ob ein Objekt in JS ein leeres Objekt ist

1. Konvertieren Sie das JSON-Objekt in eine JSON-...

Detaillierte Erklärung der Linux-RPM- und Yum-Befehle und -Verwendung

RPM-Paketverwaltung Ein Verpackungs- und Installa...