So komprimieren Sie Dateien mit der Linux-Befehlszeile

Es gibt verschiedene Möglichkeiten zum Komprimieren von Dateien mit dem Linux-Befehlszeile. Dieser Artikel enthält praktische Beispiele, die zeigen, wie Sie das zip-Befehl um Dateien in Ihrem Dateisystem zu komprimieren und zu organisieren.

Gezippte Dateien werden verwendet, wenn Sie Platz sparen müssen und große Dateien kopieren von einem Ort zum nächsten.

Wenn Sie 10 Dateien mit einer Größe von jeweils 100 Megabyte haben und diese auf eine FTP-Site übertragen müssen, kann die Übertragung je nach Prozessorgeschwindigkeit sehr lange dauern. Wenn Sie alle 10 Dateien in eine einzige ZIP-Datei komprimieren Archiv und der Kompression reduziert die Dateigröße auf 50 MB pro Datei, dann müssen Sie nur noch halb so viele Daten übertragen.

Der Linux-Zip-Befehl

So erstellen Sie ein Archiv aller Dateien in einem Ordner

Stellen Sie sich vor, Sie haben einen Ordner mit Songs mit den folgenden MP3-Dateien:

ACDC - Highway to Hell

Night Prowler.mp3.

Liebe hungriger Mann.mp3.

Holen Sie es sich heiß.mp3.

Gehen Sie ganz über Sie.mp3.

Autobahn zur Hölle.mp3.

Wenn du Blut willst, hast du es.mp3.

Zeigen Sie sich in Flames.mp3 an.

Berühren Sie zu viel.mp3.

Um den heißen Brei herumreden.mp3.

Mädchen haben Rhythmus.mp3.

Dieser einfache Linux-Befehl, der veranschaulicht, wie Sie ein Archiv aller Dateien im aktuellen Ordner namens ACDC_Highway_to_Hell.zip erstellen:

zip ACDC_Highway_to_Hell *

Der Text scrollt den Bildschirm nach oben und zeigt die Dateien an, während sie hinzugefügt werden.

So fügen Sie versteckte Dateien in ein Archiv ein

Der vorherige Befehl eignet sich zum Archivieren aller Dateien in einem Ordner, enthält jedoch nur Dateien, die nicht versteckt sind. Es ist nicht immer so einfach. Stellen Sie sich vor, Sie möchten Ihren Home-Ordner zippen, damit Sie ihn auf ein USB Laufwerk oder externe Festplatte. Ihr Home-Ordner enthält versteckte Dateien.

Um alle Dateien zu komprimieren, einschließlich der versteckte Dateien Führen Sie in einem Ordner den folgenden Befehl aus:

zip nach Hause * .*

Dadurch wird eine Datei namens home.zip mit allen Dateien im Home-Ordner erstellt. (Sie müssen sich im Home-Ordner befinden, damit dies funktioniert). Das Problem bei diesem Befehl ist, dass er nur die Dateien im Home-Ordner enthält und nicht die Ordner, was uns zum nächsten Beispiel bringt.

So archivieren Sie alle Dateien und Unterordner in einer Zip-Datei

Führen Sie den folgenden Befehl aus, um alle Dateien und Unterordner in ein Archiv aufzunehmen:

zip -r nach Hause. 

So fügen Sie einem vorhandenen komprimierten Archiv neue Dateien hinzu

Wenn Sie einem vorhandenen Archiv neue Dateien hinzufügen oder die Dateien in einem Archiv aktualisieren möchten, verwenden Sie beim Ausführen des ZIP-Befehls denselben Namen für die Archivdatei.

Stellen Sie sich zum Beispiel vor, Sie haben einen Musikordner mit vier Alben und erstellen ein Archiv namens music.zip, um es als Backup aufzubewahren. Stellen Sie sich jetzt eine Woche später vor, Sie zwei neue Alben herunterladen. Um die neuen Alben zur Zip-Datei hinzuzufügen, führen Sie einfach den gleichen Zip-Befehl wie in der Vorwoche aus.

Führen Sie den folgenden Code aus, um das ursprüngliche Musikarchiv zu erstellen:

zip -r Musik /home/Ihrname/Musik/

Um dem Archiv neue Dateien hinzuzufügen, führen Sie denselben Befehl erneut aus.

Wenn die ZIP-Datei eine Liste von Dateien enthält und sich eine der Dateien auf dem Datenträger geändert hat, wird die geänderte Datei in der ZIP-Datei aktualisiert.

So aktualisieren Sie die vorhandenen Dateien in einem komprimierten Archiv

Wenn Sie eine ZIP-Datei haben, die jedes Mal die gleichen Dateinamen enthalten soll, und Sie diese Datei mit allen Änderungen aktualisieren möchten, die an diesen Dateien vorgenommen wurden, dann -F switch hilft Ihnen dabei.

Stellen Sie sich zum Beispiel vor, Sie haben eine gezippte Datei mit den folgenden Dateien:

/home/yourname/documents/file1.

/home/yourname/documents/file2.

/home/yourname/documents/file3.

/home/yourname/documents/file4.

/home/yourname/documents/file5.

/home/yourname/documents/file6.

Stellen Sie sich nun vor, Sie haben im Laufe der Woche zwei neue Dateien hinzugefügt und zwei Dateien geändert, sodass der Ordner /home/Ihrname/Dokumente jetzt so aussieht:

/home/yourname/documents/file1.

/home/yourname/documents/file2.

/home/yourname/documents/file3.

/home/IhrName/Dokumente/Datei4 (aktualisiert)

/home/IhrName/Dokumente/Datei5 (aktualisiert)

/home/yourname/documents/file6.

/home/yourname/documents/file7.

/home/yourname/documents/file8.

Wenn Sie den folgenden Befehl ausführen, enthält die ZIP-Datei die aktualisierten Dateien (Datei4 und Datei5), aber Datei7 und Datei8 werden nicht hinzugefügt.

zip zipfilename -f -r /home/IhrName/Dokumente. 

So löschen Sie Dateien aus einem komprimierten Archiv

Sie haben also eine riesige ZIP-Datei mit Hunderten von Dateien erstellt und stellen nun fest, dass die ZIP-Datei vier oder fünf Dateien enthält, die Sie dort nicht benötigen. Ohne all diese Dateien erneut zippen zu müssen, können Sie einfach den Zip-Befehl mit dem ausführen -D wie folgt wechseln:

zip zipfilename -d [Name der Datei im Archiv]

Wenn Sie beispielsweise eine Datei im Archiv mit dem Namen home/documents/test.txt haben, löschen Sie diese mit diesem Befehl:

zip zipfilename -d home/documents/test.txt. 

So kopieren Sie Dateien von einer Zip-Datei in eine andere

Wenn Sie Dateien in einer ZIP-Datei haben und diese in eine andere ZIP-Datei kopieren möchten, ohne sie zuerst zu extrahieren und erneut zu komprimieren, verwenden Sie die -u Schalter.

Angenommen, Sie haben eine Zip-Datei namens "variousmusic.zip" mit Musik von verschiedenen Künstlern, darunter AC/DC. Mit dem folgenden Befehl können Sie die AC/DC-Songs aus der Datei Variousmusic.zip in Ihre Datei ACDC.zip kopieren:

zip diversemusic.zip -U --out ACDC.zip "Back_In_Black.mp3"

Der obige Befehl kopiert die Datei "Back_In_Black.mp3" von Variousmusic.zip nach ACDC.zip. Wenn die ZIP-Datei, in die Sie kopieren, nicht existiert, wird sie erstellt.

So verwenden Sie Pattern Matching und Piping, um ein Archiv zu erstellen

Der nächste Schalter ist wirklich nützlich, da Sie die Ausgabe anderer Befehle verwenden können, um Dateien in Ihre ZIP-Datei einzufügen. Angenommen, Sie möchten eine Datei namens lovesongs.zip erstellen, die alle Lieder enthält, deren Titel das Wort Liebe enthält.

Um die Dateien mit Liebe im Titel zu finden, können Sie den folgenden Befehl verwenden:

finde /home/deinname/Musik -name *liebe*

Der obige Befehl ist nicht zu 100 Prozent perfekt, da er auch Wörter wie "Kleeblatt" aufnimmt, aber Sie bekommen die Idee. Führen Sie diesen Befehl aus, um alle zurückgegebenen Ergebnisse des obigen Befehls zu einer Zip-Datei namens lovesongs.zip hinzuzufügen:

finde /home/deinname/Musik -name *liebe* | zip lovesongs.zip -@

So erstellen Sie ein geteiltes Archiv

Wenn Sie Ihren Computer sichern, aber das einzige Medium, auf das Sie zum Sichern zur Verfügung stehen, ein Satz von leere DVDs, dann hast du die Wahl. Sie können die Dateien so lange zippen, bis die Zip-Datei 4,8 Gigabyte groß ist und die DVD brennen, oder Sie können etwas namens a. erstellen geteiltes Archiv Dadurch werden immer wieder neue Archive in einem Satz erstellt, nachdem das von Ihnen angegebene Limit erreicht wurde.

Zum Beispiel:

zip mymusic.zip -r /home/myfolder/Music -s 670m. 

So passen Sie den Fortschrittsbericht des Zipping-Prozesses an

Es gibt verschiedene Möglichkeiten, die Ausgabe, die während des Zippens angezeigt wird, anzupassen.

Die verfügbaren Schalter sind wie folgt:

  • -db = zeigt an, wie viele Bytes gezippt wurden und wie viele noch übrig sind
  • -dc = zeigt die Anzahl der gezippten Dateien an und wie viele noch übrig sind
  • -dd = zeigt Punkte für jede 10 MB Datei an, die gezippt wurde
  • -ds = legt fest, wie oft Punkte erscheinen
  • -du = zeigt die unkomprimierte Größe jeder Datei an

Zum Beispiel:

zip myzipfilename.zip -dc -r /home/music. 

So reparieren Sie eine Zip-Datei

Wenn Sie ein beschädigtes Zip-Archiv haben, können Sie es mit dem -F Befehl und wenn das fehlschlägt, FF Befehl.

Dies ist nützlich, wenn Sie ein geteiltes Archiv mit dem. erstellt haben -S wechseln, und Sie haben eine der Archivdateien verloren.

Versuchen Sie es zum Beispiel zuerst mit diesem:

zip -F myfilename.zip --out myfixedfilename.zip. 

und dann.

zip -FF myfilename.zip --out myfixedfilename.zip. 

So verschlüsseln Sie ein Archiv

Wenn Sie vertrauliche Informationen in einer ZIP-Datei speichern möchten, verwenden Sie die -e Befehl an Verschlüsseln es. Sie werden aufgefordert, a. einzugeben Passwort und das Passwort zu wiederholen.

Zum Beispiel:

zip meinDateiname.zip -r /home/wikileaks -e. 

So zeigen Sie, was gezippt wird

Wenn Sie wissen, dass Sie ein großes Archiv erstellen werden, stellen Sie sicher, dass der ZIP-Datei die richtigen Dateien hinzugefügt werden. Sie können die erwarteten Ergebnisse eines ZIP-Befehls anzeigen, indem Sie den -sf Schalter.

Zum Beispiel:

zip meinDateiname.zip -r /home/music/ -sf. 

So testen Sie ein Archiv

Nach dem Sichern von Dateien in einer ZIP-Datei ist es verlockend, Speicherplatz durch Löschen der Originaldateien zu sparen. Bevor Sie dies tun, sollten Sie testen, ob die ZIP-Datei ordnungsgemäß funktioniert.

Du kannst den... benutzen -T wechseln, um zu testen, ob die ZIP-Datei gültig ist.

Zum Beispiel:

zip meinDateiname.zip -T. 

Die Ausgabe dieses Befehls, wenn ein Archiv ungültig ist, kann etwa so aussehen:

  • Zip-Warnung: fehlende Endsignatur - wahrscheinlich keine Zip-Datei 

Denken Sie daran, dass Sie den Befehl -F ausprobieren können, um beschädigte Zip-Dateien zu reparieren.

Es ist erwähnenswert, dass das -T Fehlalarme erzeugen kann, da es sagt, dass eine ZIP-Datei beschädigt ist, obwohl Sie beim Öffnen alle Dateien extrahieren können.

So schließen Sie Dateien aus

Manchmal möchten Sie bestimmte Dateien aus einer ZIP-Datei ausschließen. Wenn Sie beispielsweise die Dateien von Ihrem Telefon oder Ihrer Digitalkamera kopieren, haben Sie eine Mischung aus Videos und Bildern. Möglicherweise möchten Sie die Fotos in die Datei photos.zip und die Videos in die Datei videos.zip komprimieren.

Hier ist eine Möglichkeit, die Videos beim Erstellen von photos.zip auszuschließen.

zip photos.zip -r /home/photos/ -x *.mp4. 

So legen Sie die Komprimierungsstufe fest

Wenn du Dateien komprimieren in eine ZIP-Datei, entscheidet das System, ob die Datei komprimiert oder nur gespeichert wird. MP3-Dateien, sind beispielsweise bereits komprimiert, daher macht es wenig Sinn, sie weiter zu komprimieren; Sie werden normalerweise unverändert in einer ZIP-Datei gespeichert.

Sie können jedoch eine Komprimierungsstufe zwischen 0 und 9 angeben, um eine Datei weiter zu komprimieren. Dies dauert zwar länger, kann aber erhebliche Platzeinsparungen bewirken.

zip myfiles.zip -r /home -5.