zip (Programm)

Aus Mikiwiki
Wechseln zu: Navigation, Suche

Der Shell-Befehl zip ist ein Datenkompressionsprogramm und kompatibel zu den Zip-Tools unter Microsoft DOS oder Microsoft Windows, d. h. damit können die typischen ZIP-Dateien aus dem Internet ein- und ausgepackt werden. Gleichzeitig ist zip auch ein Archivierungsprogramm, das mehrere Dateien zu einer Datei zusammenzufassen kann. Solche mit zip erzeugten Dateien können mit unzip wieder dekomprimiert und entpackt werden.

Da ZIP-Dateien nicht aus dem Unix-Umfeld stammen, können sie nicht alle Eigenschaften einer Datei sichern.

Im Gegensatz zu bzip2, gzip oder tar kann zip die erstellte Archivdatei mit einem Passwort versehen. Zudem können auch nur neue oder veränderte Dateien gesichert werden.

Verwendung

Im aktuellen Verzeichnis werden alle Dateien mit den Endungen ".c" oder ".h" in der Datei "file.zip" zusammengefasst und komprimiert.

$ zip file.zip *.c *.h

Im aktuellen Verzeichnis werden die Verzeichnisse "abc" und "def" mit allen den darin enthaltenen Dateien in der Datei "file.zip" zusammengefasst und komprimiert.

$ zip -r file.zip abc def

Alle in der Datei "file.zip" zusammengefassten Dateien werden im aktuellen Verzeichnis entpackt.

$ unzip file.zip

Datensicherung

Rekursives Erstellen einer ZIP-Archivdatei der Datei "file1" und des Verzeichnisses "directory1", wobei nur neue oder geänderte Dateien berücksichtigt werden ("-u"). Die enstehende Archivdatei ist mit dem Passwort "xxx" versehen. Achtung: Bei Angabe absoluter Pfade werden diese mitgesichert und die Dateien bei einem Entpacken der Archivdatei automatisch wieder dorthin zurückgeschrieben, wobei bereits vorhandene Dateien überschrieben werden!

$ zip -9 -P xxx -u backup1.zip -r file1 directory1

Entpacken von Dateien aus der zuvor erzeugten ZIP-Archivdatei "backup1.zip", wobei nur im Dateisystem nicht vorhandene Dateien zurückgeschrieben werden. Der Parameter "-d" gibt den Pfad (hier "/") an, in den das Verzeichnis ausgepackt werden soll. Wurde die ursprüngliche Sicherung mit absoluten Pfadnamen erstellt, so werden die Dateien im Ursprungsverzeichnis entpackt.

$ unzip -P xxx -n backup1.zip -d /