Какая команда unix эквивалентна действию меню "Сжать" в Mac OSX?

Когда я щелкаю правой кнопкой мыши файл в Mac OSX и выбираю "Сжать имя файла", какая эквивалентная команда bash или терминал для получения того же результата?

Это просто gzip -9 /path/to/filename?

3 ответа

ditto -ck --rsrc --sequesterRsrc --keepParent folder folder.zip

ditto -ck использует почтовый индекс Info-ZIP.

gzip это другой, несовместимый алгоритм. Это лучшее сжатие, не обремененное никакими патентами, но оно поддерживается только из коробки на Unix и Unix-подобных системах (включая Linux и OSX, но не Windows). То, что вы ищете, это zip, OSX поставляется с этим как утилита командной строки тоже. Увидеть man zip для вариантов.

Если вы "сжимаете" каталог / папку с именем myDirили что-то в этом роде, тогда вы получите эквивалент

% zip -r myDir.zip myDir

Если вы "сжимаете" один файл, f1тогда вы получите что-то вроде

% zip -r f1.zip f1

Это Info-ZIP; Существует длинная и болезненная история о Info-ZIP против PKZIP, у которого есть множество патентов и персоналии. Насколько я знаю, Info-ZIP не обременен.

Вы можете распаковать Zip архивы с unzipи перечислите их содержимое с помощью unzip -l,

Кстати, одно важное различие между Zip и gzip заключается в том, что Zip является одновременно и архиватором, и компрессором, тогда как gzip предназначен только для сжатия отдельных файлов. Файлы, которые сжимает gzip, могут быть архивными (чаще всего это tar-файлы), но эти два задания являются отдельными. Если вы хотите действительно хорошее сжатие, то bzip2 (см. справочную страницу), как сообщается, более эффективен, чем gzip -9,

Другие вопросы по тегам