it-swarm.com.de

Dateien vom OS X-Terminal komprimieren?

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

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

46

Es heißt Zip.

Dadurch wird die Datei file zum Archiv file.Zip hinzugefügt:

Zip file.Zip file

Um weitere Dateien hinzuzufügen, müssen Sie diese dem Befehl als Argumente hinzufügen. Weitere Optionen finden Sie unter man Zip.

Häufig möchten Sie die lästigen .DS_Store-Dateien überspringen, indem Sie beispielsweise den gesamten Ordner folder in folder.Zip komprimieren. :

Zip -vr folder.Zipfolder/ -x "*.DS_Store"
61
slhck

Um die Dateien genau so zu komprimieren, wie es der Finder-Befehl tun 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.
14
qqbenq

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

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

Z.B.:

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

Diese willl - c reate ag - z ipped-Archiv mit dem Namen - f ile aus dem - C Ordner wechseln in Verzeichnis und enthält alle Dateien im Ordner Downloads. Die Option -C ist optional und die Argumente der Quelldatei werden aus dem aktuellen Ordner übernommen, wenn sie weggelassen werden.

Als referenz: tar tutorial