Komprimieren von Dateien von OS X-Terminal?

Im Finder gibt es diese wunderbare Möglichkeit, mit der rechten Maustaste auf eine Datei oder ein Verzeichnis zu klicken, aus der Dropdown-Liste Komprimieren auszuwählen und eine ZIP-Datei zu erhalten.

Ist es möglich, dasselbe vom Terminal aus zu tun?

Author: slhck, 2012-11-13

4 answers

Es heißt zip.

Dies fügt die Datei hinzu file zum Archiv file.zip:

zip file.zip file

Um weitere Dateien hinzuzufügen, fügen Sie sie natürlich einfach als Argumente zum Befehl hinzu. Schauen Sie sich man zip für weitere Optionen an.

Oft, Sie wollen zu überspringen, darunter auch die nervigen .DS_Store Dateien, zum Beispiel den gesamten Ordner komprimieren folder in folder.zip:

zip -vr folder.zip folder/ -x "*.DS_Store"
 122
Author: slhck,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-05-22 06:37:31

Um die Dateien genau zu komprimieren, wie der Finder-Befehl sie komprimieren würde, verwenden Sie:

ditto -c -k --sequesterRsrc --keepParent src_directory archive.zip

Siehe man ditto für Details:

 The command:
       ditto -c -k --sequesterRsrc --keepParent src_directory archive.zip
 will create a PKZip archive similarly to the Finder's Compress function-
 ality.
 30
Author: qqbenq,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-07-03 08:23:33

Es gibt tar(1) und gzip (oder bzip2 oder lzma). Tar wird verwendet, um eine Reihe von Dateien in ein Archiv zu rollen, während das eine der anderen drei zum Komprimieren verwendet wird.

In einer Befehlszeile rufen Sie tar mit einigen Optionen auf, um ein Archiv zu erstellen und es zu gzip.

Z.B.:

tar -c -z -f myarchive.tar.gz -C /home/username Downloads

Dieser willl -c reate a g -z ipped Archiv benannt -f ile von der -C hange-Ordner-zu Verzeichnis und enthält alle Dateien im Ordner Downloads. Die Option-C ist optional und die Quelldateiargumente werden aus dem aktuellen Ordner übernommen, wenn sie weggelassen werden.

Für Referenz: tar tutorial

 7
Author: Ярослав Рахматуллин,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-11-13 14:39:29

Mit den obigen Antworten, Wenn Sie ein Verzeichnis oder einen Ordner mit dem Befehl zip komprimieren möchten:

zip directory.zip directory -r

-r key wird rekursiv in Ordner und Unterordner iterieren!

 4
Author: novonimo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-08-07 07:36:07