Какая команда 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
,