Как я могу установить 7zip, чтобы я мог запустить его из терминала на OS X

185

Я хотел бы иметь возможность запустить 7zip из командной строки на Mac. У кого-нибудь есть инструкции как это настроить?

Пол Шелдрейк
источник

Ответы:

327

Чтобы установить p7zip с помощью Homebrew , сначала обновите brewформулы, чтобы быть уверенным, что вы получаете последние версии p7zip.

$ brew update

Используйте Homebrew для установки p7zip:

$ brew install p7zip

Добавьте все файлы в sputnikкаталоге в сжатый файл heed.7z:

$ 7z a heed.7z sputnik

Распаковать heed.7z:

$ 7z x heed.7z
Трой Харви
источник
10
то же самое для macports: sudo port install p7zipнет проблем
Алан Блаунт
1
@AlanBlount спасибо за добавление инструкций для MacPorts.
Трой Харви
1
@ pal4life Проверьте права доступа в вашем каталоге Cellar .
Трой Харви
1
@MaciekSemik Пример имен файлов.
Шридхар Катакам
2
Я должен был прийти сюда, чтобы узнать, что команда не p7zip, а 7z ...
MikeP
40

На странице загрузки 7-zip есть несколько опций для OS X. К сожалению, они, похоже, с графическим интерфейсом или недоступны в данный момент.


Вы можете скачать p7zip, хотя.

p7zip - версия 7-Zip для Unix / Linux для командной строки, созданная независимым разработчиком

Он распространяется в виде бинарных файлов Linux и в виде исходного кода на Sourceforge .

Загрузите исходный код и запустите makeв папке, в которую вы распаковываете архив. Он будет автоматически создан 7zaдля вашей ОС. Вам может понадобиться Xcode и его инструменты командной строки, чтобы это работало.

$ cd Downloads/p7zip_9.20.1
$ make
[...]
$ cd bin
$ ls
7za
$ ./7za 

7-Zip (A) [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=de_DE.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)

Usage: 7za <command> [<switches>...] <archive_name> [<file_names>...]
       [<@listfiles...>]

<Commands>
  a: Add files to archive
  b: Benchmark
  d: Delete files from archive
  e: Extract files from archive (without using directory names)
  l: List contents of archive
  t: Test integrity of archive
  u: Update files to archive
  x: eXtract files with full paths
<Switches>
  -ai[r[-|0]]{@listfile|!wildcard}: Include archives
  -ax[r[-|0]]{@listfile|!wildcard}: eXclude archives
  -bd: Disable percentage indicator
  -i[r[-|0]]{@listfile|!wildcard}: Include filenames
  -m{Parameters}: set compression Method
  -o{Directory}: set Output directory
  -p{Password}: set Password
  -r[-|0]: Recurse subdirectories
  -scs{UTF-8 | WIN | DOS}: set charset for list files
  -sfx[{name}]: Create SFX archive
  -si[{name}]: read data from stdin
  -slt: show technical information for l (List) command
  -so: write data to stdout
  -ssc[-]: set sensitive case mode
  -t{Type}: Set type of archive
  -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]: Update options
  -v{Size}[b|k|m|g]: Create volumes
  -w[{path}]: assign Work directory. Empty path means a temporary directory
  -x[r[-|0]]]{@listfile|!wildcard}: eXclude filenames
  -y: assume Yes on all queries

$ ./7za a 7za.7z 7za 

7-Zip (A) [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=de_DE.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)
Scanning

Creating archive 7za.7z

Compressing  7za      

Everything is Ok

$ ls
7za    7za.7z
Даниэль Бек
источник
1
Перед «make» я должен был выполнить команду «cp makefile.macosx_64bits makefile.machine»
chrisinmtown
15

Если вам нужно только извлечь архивы, unar (версия командной строки The Unarchiver) также поддерживает 7zip.

LRI
источник