Komprimieren von Ordnern und deren Inhalten in eine ZIP-Datei unter Linux


80

Wie erstelle ich eine ZIP-Datei, die jede Datei UND jeden Ordner im Verzeichnis enthält?

linux  zip 

Muss es eine ZIP-Datei sein, oder suchen Sie nach einer komprimierten Datei?

1
Ich benutze 'tar': tar -zcvf archive.tar.gz directory / unix.stackexchange.com/questions/93139/…
njuhgn

Antworten:


124
zip -r foo.zip dir_path

Das -r bedeutet rekursiv und weist es an, alle Unterordner zu durchlaufen. Sie brauchen den .zipDateinamen ( foo.zip) nicht wirklich , da dieser sowieso erzeugt wird.
User2924019

Der Kommentar von @ user2924019, dass Sie den Zip-Namen nicht angeben müssen, ist in CentOS7 nicht wahr.
Killjoy

CentOS7 ist genau dort, wo ich das getestet habe.
user2924019

1
Nun, wir sind zu einem so genannten mexikanischen Patt gekommen, oder?
seizethecarp

16

Versuchen:

zip -r filename.zip /path/to/folder

Hinweis - Dies erfolgt rekursiv, dh es werden alle Ordner und alle Unterordner des angegebenen Ordners komprimiert.


5

Verwenden Sie die -rOption. Von zip (1) :

-r

Durchlaufen Sie die Verzeichnisstruktur rekursiv. zum Beispiel:

zip -r foo foo

Der Name der Zip-Datei steht an erster Stelle. "Rekursiv" bedeutet, dass die ZIP-Datei Unterordner des angegebenen Ordners, die Unterordner dieser Ordner usw. enthält.


Wohin geht die .zip-Datei nach dem Zippen?
Siraj Alam

3

Wenn Sie an eine Zip gebunden sind, würde ich Folgendes verwenden:

zip -r zipfilename directoryPath

Das -rist der Schlüssel, aber Sie können alle Optionen hier finden .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.