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

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

In der vorherigen Anleitung haben wir gelernt, wie man Dateien und Verzeichnisse mit dem tar-Befehl archiviert unter Linux. Jetzt machen wir dasselbe, aber mit Zip ein Entpacken Programme. Die Zip-Anwendung ist sowohl ein Archivierungs- als auch ein Komprimierungsprogramm, sodass wir sie zum Archivieren, Komprimieren und Dekomprimieren von Dateien und Verzeichnissen in Linux- und Unix-ähnlichen Betriebssystemen verwenden können. Diese Zip-Anwendung ist mit Windows und anderen OS-Zip-Anwendungen kompatibel. Allerdings gzip und bzip2 sind die vorherrschenden Komprimierungsanwendungen. Sehen wir uns nun an, wie man Dateien und Verzeichnisse unter Linux mit Zip archiviert Programm.

Dateien und Verzeichnisse in Linux mit dem Zip-Programm archivieren

Das Zip-Programm ist bei einigen Linux-Distributionen vorinstalliert. Für den Fall, dass es nicht verfügbar ist, können Sie es mit dem Standard-Paketmanager der Distribution installieren.

Unter Arch Linux und Varianten:

$ sudo pacman -S zip unzip

Unter RHEL, CentOS, Fedora:

$ sudo yum install zip unzip

Unter Debian, Ubuntu, Linux Mint:

$ sudo apt-get install zip unzip

Unter SUSE/openSUSE:

$ sudo zypper install zip unzip

Sehen wir uns nun einige Beispiele an.

Neues Archiv erstellen

Um eine Gruppe von Dateien in einer zu archivieren, tun Sie einfach:

$ zip file.zip file1 file2 file3

Beispielausgabe wäre:

adding: file1 (stored 0%)
adding: file2 (stored 0%)
adding: file3 (stored 0%)

Hier erstellen wir ein Archiv namens file.zip aus Datei1 , Datei2 und Datei3 . Sie müssen nicht die .zip verwenden Erweiterung am Ende des Dateinamens. Ich habe es der Übersichtlichkeit halber hinzugefügt.

Um ein Archiv eines Verzeichnisses zu erstellen, führen Sie auf ähnliche Weise Folgendes aus:

$ zip directory.zip ostechnix/
 adding: ostechnix/ (stored 0%)

Hier habe ich ein Archiv mit dem Namen directory.zip erstellt des ostechnix Mappe. Bitte beachten Sie, dass dadurch nur das übergeordnete Verzeichnis (d.h.) zum Archiv hinzugefügt wird. Um alle Unterverzeichnisse rekursiv zu archivieren, verwenden Sie -r kennzeichnen wie unten.

$ zip -r directory.zip ostechnix/
 adding: ostechnix/ (stored 0%)
 adding: ostechnix/file.txt (deflated 67%)
 adding: ostechnix/audio.mp3 (deflated 6%)
 adding: ostechnix/image.jpg (deflated 3%)

Im Gegensatz zum tar-Dienstprogramm erstellt das Zip-Programm ein Archiv und komprimiert es, wenn möglich. Aber tar ist ein Archivierer, kein Komprimierungstool.

Erstellen Sie ein Archiv mit mehreren Verzeichnissen und/oder Dateien gleichzeitig

Manchmal müssen Sie möglicherweise ein Archiv aus einer Gruppe von Dateien und Ordnern erstellen. Führen Sie dazu Folgendes aus:

$ zip -r directory.zip ostechnix/ file1 file2 file3
 adding: example/ (stored 0%)
 adding: example/Stephen.jpg (deflated 3%)
 adding: file1 (stored 0%)
 adding: file2 (stored 0%)
 adding: file3 (stored 0%)

Der obige Befehl erstellt ein Archiv mit dem Namen directory.zip von ostechnix Verzeichnis und die Dateigruppe namens file2 , Datei2 , Datei3 .

Lassen Sie mich Ihnen nun ein weiteres Beispiel zeigen.

$ zip directory.zip file4
 adding: file4 (stored 0%)

Hast du bemerkt? Ich habe das vorhandene Archiv angegeben, aber das Zip-Programm hat den Inhalt der vorhandenen Archivdatei aktualisiert, ohne sie zu ersetzen. Wenn Sie also ein vorhandenes Archiv angegeben haben, wird es aktualisiert und nicht ersetzt. Vereinfacht gesagt bleibt das bestehende Archiv erhalten, die neue Datei4 wird hinzugefügt. Dies ist ein bemerkenswerter Vorteil des zip-Programms gegenüber dem tar-Dienstprogramm.

Archive extrahieren

Das Extrahieren von Archiven ist so einfach wie das Erstellen von Archiven. Um ein Archiv zu extrahieren, tun Sie einfach:

$ unzip directory.zip

Beispielausgabe wäre:

 Archive: directory.zip
 creating: ostechnix/
 inflating: ostechnix/file.txt 
 inflating: ostechnix/audio.mp3 
 inflating: ostechnix/image.jpg 
 extracting: file1 
 extracting: file2 
 extracting: file3 
 extracting: file4

Sie können auch selektiv eine bestimmte Datei oder einen bestimmten Ordner aus dem Verzeichnis extrahieren. Beispielsweise extrahiert der folgende Befehl file4 aus dem Archiv directory.zip .

$ unzip directory.zip file4
 Archive: directory.zip
 extracting: file4

Inhalte eines Archivs auflisten, ohne es zu extrahieren

Um den Inhalt eines Archivs aufzulisten, ohne es tatsächlich zu extrahieren, verwenden Sie -l Flagge.

$ unzip -l directory.zip
 Archive: directory.zip
 Length Date Time Name
--------- ---------- ----- ----
 0 2018-03-29 15:55 ostechnix/
 1286 2018-01-11 12:16 ostechnix/file.txt
 8073033 2018-03-29 14:03 ostechnix/audio.mp3
 15240 2018-03-29 14:45 ostechnix/image.jpg
 5 2018-03-29 15:58 file1
 5 2018-03-29 15:58 file2
 5 2018-03-29 15:58 file3
 5 2018-03-29 16:37 file4
--------- -------
 8089579 8 files

Dies kann nützlich sein, wenn Sie eine bestimmte Datei suchen und extrahieren möchten, anstatt das gesamte Archiv zu extrahieren.

Erstellen eines verschlüsselten Archivs

Ein weiteres bemerkenswertes Merkmal des Befehls zip ist, dass es uns ermöglicht, ein verschlüsseltes Archiv zu erstellen, sodass die Benutzer das Passwort eingeben müssen, um den Inhalt des Archivs zu extrahieren oder anzuzeigen.

Um ein verschlüsseltes Archiv zu erstellen, verwenden Sie -e Flagge.

$ zip -e -r directory.zip ostechnix/ file1 file2 file3 file4
Enter password: 
Verify password: 
 adding: ostechnix/ (stored 0%)
 adding: ostechnix/file.txt (deflated 67%)
 adding: ostechnix/audio.mp3 (deflated 6%)
 adding: ostechnix/image.jpg (deflated 3%)
 adding: file1 (stored 0%)
 adding: file2 (stored 0%)
 adding: file3 (stored 0%)
 adding: file4 (stored 0%

Wenn Sie den Inhalt des Archivs extrahieren oder anzeigen, müssen Sie das richtige Passwort eingeben.

$ unzip directory.zip 
Archive: directory.zip
[directory.zip] ostechnix/file.txt password:

Erstellen Sie ein mehrteiliges Archiv

Manchmal müssen Sie möglicherweise eine Archivdatei über das Internet freigeben, und diese Archivdatei selbst ist möglicherweise zu groß, um sie über das Internet oder LAN zu senden. In solchen Fällen können wir mehrteilige kleine Archive erstellen und diese über das Internet versenden.

Um ein Verzeichnis in mehrere kleinere Teile zu archivieren, zum Beispiel 3 MB jeweils tun wir:

$ zip -r -s 3m archive.zip ostechnix/

Dieser Befehl erstellt Archivdateien mit einer Größe von 3 MB wie archive.z01 , archiv.z02 , archiv.z03 .... und archive.zip . Sie müssen diese Dateien an den Empfänger senden. Beim Extrahieren dieser Archivdateien werden alle Inhalte in einen einzigen Ordner namens ostechnix extrahiert .

Um das Archiv in GB aufzuteilen, verwenden Sie "g" wie unten:

$ zip -r -s 3g archive.zip ostechnix/

Archive anderer Programme erstellen

Zip kann Standardeingaben akzeptieren, sodass es möglich ist, ein Archiv anderer Programme zu erstellen. Der folgende Befehl leitet die Ausgabe des Befehls "ls" als Eingabe an den Befehl zip weiter.

$ ls -l Documents/ | zip ls-documents.zip -
 adding: - (deflated 56%)

Merken Sie sich hier ls-documents.zip ist das Archiv des "ls"-Befehls. Der Inhalt des Archivs wird also nicht mit -l angezeigt wechseln.

Stattdessen können Sie den Inhalt mit dem Befehl anzeigen:

$ unzip -p ls-documents.zip | less

Hier, -p bezieht sich auf Rohr.

Archive mit Komprimierungsrate komprimieren

So archivieren Sie ein Verzeichnis und seinen Inhalt mit der höchsten Komprimierungsstufe [9]:

$ zip -r -9 archive.zip ostechnix/

Zip unterstützt drei Komprimierungsstufen, wie unten angegeben.

  • 1 – Am schnellsten (am schlechtesten)
  • 9 – Langsamste (Beste oder Höchste)
  • 6 – Standardebene

Dateien oder Ordner beim Erstellen von Archiven ausschließen

Wir können unerwünschte Dateien oder Unterverzeichnisse beim Erstellen eines Archivs ausschließen. Verwenden Sie dazu -x Flagge wie unten:

$ zip -r directory.zip ostechnix/ -x ostechnix/image.jpg

Der obige Befehl erstellt ein Archiv des ostechnix-Verzeichnisses, schließt aber image.jpg aus Datei aus dem Archiv.

Mit dem folgenden Befehl können Sie den Inhalt überprüfen, ohne die Archivdatei zu extrahieren.

$ unzip -l directory.zip

Dateien aus einem bestehenden Archiv löschen

Möglicherweise haben Sie beim Erstellen von Archiven vergessen, einige unerwünschte Inhalte auszuschließen. Keine Bange! Sie können diese Dateien auch nach dem Erstellen des Archivs löschen.

Um die unerwünschten Dateien aus einem bestehenden Archiv zu löschen, verwenden Sie -d wie unten gezeigt kennzeichnen.

$ zip -d directory.zip "ostechnix/file.txt"
deleting: ostechnix/file.txt

Ähnlich, um eine Gruppe von Dateien des gleichen Typs zu löschen, zum Beispiel .txt Dateiverwendung:

$ zip -d directory.zip "ostechnix/*.txt"

Und das ist alles für jetzt. Wir haben nur an der Oberfläche von Zip/Unzip-Befehlen gekratzt. Mit diesen Programmen können Sie noch viel mehr tun. Weitere Einzelheiten finden Sie in den Manpages.

$ man zip
$ man unzip

Linux
  1. So komprimieren Sie Dateien und Verzeichnisse unter Linux (mit Beispielen)

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

  3. So archivieren und komprimieren Sie Dateien unter Linux

  4. So komprimieren Sie mehrere Dateien unter Linux

  5. Linux Dateien und Verzeichnisse löschen

So sichern Sie Dateien und Verzeichnisse mit Rsync unter Linux

So benennen Sie Dateien und Verzeichnisse in Linux um

So kopieren Sie Dateien und Verzeichnisse im Linux-Terminal

So komprimieren Sie Dateien und Ordner unter Linux

So löschen Sie Dateien und Verzeichnisse mit der Linux-Befehlszeile

So komprimieren Sie eine Datei unter Linux