In diesem Tutorial gebe ich Ihnen eine vollständige Anleitung und alle wichtigen Optionen, die unter "So komprimieren Sie eine Datei unter Linux" aufgeführt sind. Das Komprimieren einer Datei oder eines Verzeichnisses in Linux hilft, Backups zu erstellen und Speicherplatz zu sparen, indem nicht verwendete Dateien komprimiert werden. Ich verwende Ubuntu Linux 20.04 um alle Beispiele in diesem Beitrag zu präsentieren.
Was ist Zip
Zip ist im Grunde ein Dienstprogramm zum Packen und Komprimieren von Dateien für fast jedes Betriebssystem, egal ob Linux, Windows, Mac und sogar einige RISC-Systeme.
Es wird immer standardmäßig auf allen Linux- oder Unix-Systemen installiert, außer in wenigen Fällen. Es ist analog zu einer Kombination aus zwei Befehlentar undkomprimieren .
Im Allgemeinen legt das Zip-Programm eine oder mehrere komprimierte Dateien in Linux ab zusammen mit Metainformationen über die Datei in ein einzelnes ZIP-Archiv.
Das Komprimierungsverhältnis von Zip-Dateien in Linux liegt bei etwa 2:1 oder 3:1, was bei Textdateien üblich ist, und es variiert für verschiedene Dateitypen. Ein einzelner Zip-Befehl kann eine ganze Verzeichnisstruktur in ein Zip-Archiv packen.
Bei großen Archiven mit mehr als 4 GB verwendet zip automatisch die zip64-Erweiterung . Zip ist mit Pkzip kompatibel und Pkunzip auch Dienstprogramme.
Zip unterstützt jetzt auch das bzip2-Komprimierungsprogramm wenn die bzip2-Bibliothek generell mit zip kompiliert wird.
Entpacken und tar sind zwei Gefährten Dienstprogramme. Unzip entpackt oder dekomprimiert das Zip-Archiv und tar wird verwendet, um Backups zu erstellen.
Voraussetzung für das Zip-Dienstprogramm
Es gibt keine besonderen Voraussetzungen, Sie müssen lediglich überprüfen, ob zip unter Linux installiert ist oder nicht.
Führen Sie diesen Befehl aus. Es installiert das Dienstprogramm zum Entpacken und Entpacken wenn es nicht da ist. Wenn es bereits installiert ist, wird es aktualisiert oder nichts tun, wie in der Ausgabe gezeigt.
$ sudo apt install zip unzip
Es zeigt das Dienstprogramm zum Entpacken und Entpacken ist schon auf der neusten version. Sie sind also mit der Installation von zip und unzip bis zu diesem Punkt fertig und können die Welt von Dateien und Ordner unter Linux komprimieren erkunden
Wenn Sie eine Centos- oder Fedora-Distribution haben . Führen Sie die unten aufgeführten Befehle aus, um zip zu installieren und zu entpacken
$ sudo yum install zip
$ sudo yum install unzip
Ich werde das Komprimieren von Dateien unter Linux anhand von zwei Optionen erklären
- Komprimieren Sie eine Datei unter Linux mithilfe der grafischen Benutzeroberfläche (GUI)
- Komprimieren Sie eine Datei unter Linux mithilfe der Befehlszeilenschnittstelle (CLI)
Schauen wir uns die erste Option an -
So komprimieren Sie eine Datei in der Linux-GUI
Schritt 1:-
Wechseln Sie in das Verzeichnis, in dem sich die Datei oder der Ordner befinden.
Schritt 2:-
Wählen Sie Dateien aus und klicken Sie mit der rechten Maustaste - wählen Sie komprimieren.
Schritt 3:-
Archivnamen angeben. Ich gebe Beispiel-ZIP als Beispiel.
Schritt 4:-
Sie sind fertig !!
So komprimieren Sie eine Datei im Linux-Terminal
Sehen Sie sich zuerst die Syntax von zip an mit Erklärung -
$ zip options "output_file_name" "target_file" "target_folder"
Wo
output_file_name - den Namen der Ausgabedatei, die Sie angeben möchten. zip-Erweiterung wird automatisch hinzugefügt.
Zieldatei oder -ordner - ist ein Datei- oder Ordnerpfad, den Sie komprimieren möchten, und kann Platzhalter enthalten.
Sehen wir uns verschiedene Optionen und Beispiele für Zip an nacheinander programmieren.
Beispiel 1:- Komprimieren oder ZIP-Dateien unter Linux
dev@test:~$ zip test file1 file2
Ausgabe
Hinzufügen:Datei1 (reduziert 69 %)
Hinzufügen:Datei2 (reduziert 69 %)
dev@test:~$ ls test*
test.zip
dev@ test:~$
Dateiname und Komprimierung % werden in der Ausgabe wiedergegeben. Wie Sie sehen können, habe ich .zip nicht eingebunden Erweiterung, fügen Sie diese immer noch standardmäßig in den Namen der Ausgabedatei ein. In meinem Fall "test-zip.zip ".
wenn Sie unterdrücken möchten Für diese Ausgabe des Zip-Befehls können Sie die -q-Option verwenden .
dev@test:~$ zip -q test file1 file2
Ausgabe
dev@test:~$ ls -ltrh test*
-rw-r--r-- 1 dev dev 56K 18. Juni 16:30 Uhr test.zip
dev@test:~$
Es kann vorkommen, dass Sie vergessen haben, den Namen der Ausgabedatei in zip anzugeben Befehl, dann wird standardmäßig der erste Dateiname als Ausgabedatei und die zweite Datei in zip ausgewählt . Das unten aufgeführte Beispiel zeigt also auch, wie man mehrere Dateien komprimiert unter Linux.
dev@test:~$ zip file1 file2
Ausgabe
Hinzufügen:file2 (deflationiert um 69 %)
dev@test:~$ ls -l *.zip
-rw-r--r-- 1 dev dev 28519 18. Juni 16:33 Datei1.zip
Beispiel 2:- Ordner und Unterordner unter Linux komprimieren
Im Allgemeinen müssen Sie ein Zip-Archiv erstellen in das Verzeichnis, das Dateien und Unterverzeichnisse enthält. Zip Option -r wird nützlich sein, um diese Verzeichnisstruktur rekursiv zu durchlaufen.
dev@test:~$ zip -r test sample/
Ausgabe
Hinzufügen:Beispiel/ (gespeichert 0 %)
Hinzufügen:Beispiel/Datei2 (herabgesetzt 69 %)
Hinzufügen:Beispiel/Datei1 (herabgesetzt 69 %)
dev@test:~ $ ls Beispiel*
test.zip
Kompressionsstufen im Zip-Dienstprogramm
Die Standardeinstellung Komprimierungsgrad der ZIP-Datei ist -6 und Sie haben die Freiheit, eine Zahl zwischen 0-9 zu wählen. wenn Sie -0 auswählen dann gibt es keine Komprimierung, dh keine Dateien in Unix komprimieren.
wenn Sie -9 auswählen zwingt das Zip-Programm, die beste optimale Komprimierung für alle Dateien oder Ordner auszuwählen.
Beispiel 3:- Verwendung der Komprimierungsstufe 0 und 9
dev@test:~$ zip -r -0 test.zip sample/
Ausgabe
Hinzufügen:Beispiel/ (gespeichert 0 %)
Hinzufügen:Beispiel/Datei2 (gespeichert 0 %)
Hinzufügen:Beispiel/Datei1 (gespeichert 0 %)
Ausgabe zeigt, wenn ich 0 als Komprimierungsstufe wähle, gibt es überhaupt keine Komprimierung während des Zippens der Dateien oder Ordner .
Zum Beispiel -
dev@test:~$ zip -r -9 test sample/
Ausgabe
Hinzufügen:Beispiel/ (gespeichert 0 %)
Hinzufügen:Beispiel/Datei2 (herabgesetzt 69 %)
Hinzufügen:Beispiel/Datei1 (herabgesetzt 69 %)
dev@test:~ $
Wenn Zip feststellt, dass die Datei nicht komprimiert werden kann, wird sie einfach archiviert und gespeichert, wie sie ist, ohne die Datei unter Linux zu komprimieren.
Ich habe über bzip2 gesprochen auch in meiner zip-Einführung Erklärung. bzip2 ist auch standardmäßig in allen Linux-Versionen installiert. Wenn Sie die Datei mit der bzip2-Methode komprimieren möchten, kann -Z verwendet werden.
Beispiel 4:- So komprimieren Sie eine Datei unter Linux mit dem Dienstprogramm bzip2
dev@test:~$ zip -r -Z bzip2 test.zip sample/
Ausgabe
Hinzufügen:Beispiel/ (gespeichert 0 %)
Hinzufügen:Beispiel/Datei2 (gezippt 74 %)
Hinzugefügt:Beispiel/Datei1 (gezippt 74 %)
dev@ test:~$ ls test.zip
test.zip
Wenn Sie die Ausgabe vergleichen, stieg die Komprimierungsrate für die gleichen Dateien von 69 % auf 74 % unter Verwendung von bzip2.
Das Bzipping von Dateien kann also zu mehr Platzeinsparung führen Aber das Ändern der Komprimierungsstufe oder die Verwendung von bzip2, um mehr Speicherplatz zu sparen, geht mit einer Benachteiligung der CPU-Ressourcen einher und es wird mehr Zeit zum Komprimieren im Falle einer großen Anzahl von Dateien in Linux benötigen.
Aber es spart definitiv Netzwerkressourcen, wenn Sie planen, es über das Internet zu übertragen oder zu senden.
Komprimieren und verschlüsseln Sie eine Datei unter Linux
Häufig müssen Sie eine Datei speichern oder an jemanden senden/übertragen, die sensible oder persönliche Daten enthalten kann.
Um einen Missbrauch dieser Datei zu vermeiden, können Sie jederzeit das Passwort verschlüsseln oder aktivieren auf Archivdatei mit -e Option .
Beispiel 5:- So aktivieren Sie das Kennwort für die ZIP-Datei unter Linux
dev@test:~$ zip -e test.zip sample/
Ausgabe mit Passwortabfrage
Passwort eingeben:
Passwort bestätigen:
Hinzufügen:sample/ (gespeichert 0%)
dev@test:~$ ls sample
sample/test.zip
Vergiss nicht, das Passwort mit dem Empfänger zu teilen, wenn du es jemandem schicken willst 🙂
Erstellen Sie eine geteilte ZIP-Datei unter Linux
Es kann vorkommen, dass Sie eine große Datei zu archivieren haben und diese aufgrund von Speicher- oder Upload-Beschränkungen auf FTP-Sites oder Datei-Hosting-Anbietern aufteilen müssen.
Sie können eine ZIP-Datei mit der Option -s mit Angabe der Größe erstellen. Der Multiplikator kann als k(Kilobyte), m(Megabyte), t(Terabyte) eingestellt werden.
Beispiel 6:- So erstellen Sie eine geteilte ZIP-Datei unter Linux
Ich habe eine ZIP-Datei von Ubuntu 20.04 ISO-Image mit dem Namen ubuntu.zip (2.5G) und ich werde es in ein 1g-Archiv aufteilen Dateien.
dev@test:~/sample$ ls -ltrh ubuntu.zip -rw-r--r-- 1 dev dev 2.5G Jun 18 17:51 ubuntu.zip
dev@test:~/sample$ zip -s 1g ubuntu.zip --out split copying: ubuntu-20.04-desktop-amd64.iso dev@test:~/sample$
Ausgabe
dev@test:~/sample$ ls -ltrh split*
-rw-r--r-- 1 dev dev 1.0G 18. Juni 18:03 split.z02
-rw-r--r-- 1 dev dev 504M 18. Juni 18:04 split.zip
-rw-r--r-- 1 dev dev 1.0G 18. Juni 18:04 split.z01
Schauen Sie sich split.zip, split.z01 und split.z02 an
Wenn Sie nun die Datei mit ZIP geteilt haben, werden Sie daran denken, diese zielgerichtet zusammenzuführen. Keine Sorge, ich werde nicht zulassen, dass Sie sich am Kopf kratzen.
Beispiel 7:- Hinzufügen oder Kombinieren einer geteilten ZIP-Datei unter Linux
Wechseln Sie in das Verzeichnis, in dem Sie geteilte Dateien aufbewahrt haben
dev@test:~/sample$ ls -ltrh split*
Ausgabe
-rw-r--r-- 1 dev dev 1.0G 18. Jun 18:03 split.z02
-rw-r--r-- 1 dev dev 504M 18. Jun 18:04 split. zip
-rw-r--r-- 1 dev dev 1.0G 18. Juni 18:04 split.z01
verbinden Sie jetzt geteilte ZIP-Dateien.
dev@test:~/sample$ cat split.z* > join.zip
Überprüfen Sie die Größe in der Ausgabe
dev@test:~/sample$ ls -ltrh join.zip
-rw-r--r-- 1 dev dev 2.5G 18. Juni 18:13 join.zip
Beispiel 8:- So aktualisieren Sie eine ZIP-Datei unter Linux
Nehmen wir an, Sie haben vergessen, eine Datei zu einer ZIP-Datei hinzuzufügen, oder möchten weitere Dateien zu einer vorhandenen ZIP-Datei hinzufügen, dann -u Option kann helfen. In diesem Beispiel füge ich file4 hinzu zu bestehender test.zip Datei.
dev@test:~$ zip -u test.zip file4
Ausgabe
Hinzufügen:file4 (deflationiert um 69 %)
Beispiel 9:- So schließen Sie eine Datei aus einem ZIP-Archiv unter Linux aus
Ein Szenario, in dem Sie viele Dateien in einem Verzeichnis haben und einige Dateien von der ZIP-Archivierung ausschließen möchten. Option -x ist der Retter hier.
Derzeit habe ich drei Dateien im Beispielverzeichnis
dev@test:~$ ls -ltrh sample/
insgesamt 264.000
-rw-r--r-- 1 Entwickler Entwickler 88.000 17. Juni 21:51 Datei1
-rw-r--r-- 1 Entwickler Entwickler 88.000 17. Juni 23:21 Datei2
-rw-r--r-- 1 dev dev 88K 18. Juni 18:20 file3
Lassen Sie uns file3 ausschließen , nur 2 Dateien archiviert.
dev@test:~/sample$ zip test.zip * -x file3
Ausgabe
Hinzufügen:Datei1 (reduziert um 69 %)
Hinzufügen:Datei2 (reduziert um 69 %)
dev@test:~/sample$
Beispiel 10:- Ausführlicher Modus beim Komprimieren von Dateien unter Linux
wenn Sie den Fortschritt sehen möchten, -v Option bekannt als ausführliche oder diagnostische Versionsinformationen, kann besonders hilfreich sein, wenn Sie mit einer großen Anzahl von Dateien arbeiten.
dev@test:~$ zip -v -r test.zip sample/
Ausgabe
hinzufügen:Probe/ (ein=0) (aus=0) (gespeichert 0 %)
hinzufügen:Probe/Datei3 (ein=90082) (aus=28359) (deflationiert 69 %)
hinzufügen:Probe/Datei2 (ein=90082) (aus=28359) (deflationiert um 69 %)
hinzufügen:Probe/Datei1 (ein=90082) (out=28359) (deflationiert um 69 %)
insgesamt Bytes=270246, komprimiert=85077 -> 69 % Ersparnis
dev@test:~$
Beispiel 11:- Arbeiten mit Platzhaltern zum Komprimieren von Dateien in Linux
Der am häufigsten verwendete Platzhalter ist ein Sternchen (*) in dieser Welt, meiner Ansicht nach unterstützt das Zip-Dienstprogramm dieses hilfreiche Platzhalterzeichen. Sie müssen nicht jeden einzelnen Dateinamen eingeben.
dev@test:~/sample$ zip file.zip file*
Ausgabe
Hinzufügen:Datei1 (reduziert 69 %)
Hinzufügen:Datei2 (reduziert 69 %)
Hinzufügen:Datei3 (reduziert 69 %)
dev@test:~/sample$
Einige häufige Probleme und Fehlercodes beim Komprimieren unter Linux
Status Ausgabe
0 normal; keine Fehler oder Warnungen erkannt , bedeutet Archivierung abgeschlossen
2 unerwartetes Ende der ZIP-Datei in Unix .
11 Lese- oder Suchfehler, Die Datei kann nicht gelesen werden
12 zip hat nichts damit zu tun, Einige Aktionen fehlen
13 fehlende oder leere ZIP-Datei
14 Fehler beim Schreiben in eine Datei