I would like to be able to run 7zip from the command line on Mac. Does anyone have instructions on how to set this up?
5 Answers
To install p7zip using Homebrew, first update your brew
formulae to be sure you are getting the latest p7zip
.
$ brew update
Use Homebrew to install p7zip
:
$ brew install p7zip
Add all files in the sputnik
directory to the compressed file heed.7z
:
$ 7z a heed.7z sputnik
Unzip heed.7z
:
$ 7z x heed.7z
-
12
-
1@AlanBlount thanks for adding instructions for MacPorts. Commented Sep 10, 2014 at 20:49
-
1@pal4life Check the permissions on your Cellar directory. Commented Oct 19, 2014 at 20:38
-
1
-
4I had to come here to find out that the command isn't p7zip, it is 7z...– MikePCommented Dec 10, 2017 at 0:52
On the download page of 7-zip, there are several options for OS X. Unfortunately, they seem to be with a GUI, or not available at the moment.
You can download p7zip though.
p7zip is the command line version of 7-Zip for Unix/Linux, made by an independent developer
It is distributed as Linux binaries and in source code form on Sourceforge.
Download the source code, and run make
in the folder you extract the archive to. It will automatically build 7za
for your OS. You might need Xcode and its command line tools for this to work.
$ 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
-
1Before "make" I had to issue command "cp makefile.macosx_64bits makefile.machine" Commented Mar 16, 2015 at 16:47
p7zip
is not maintained anymore. It's been at 17.xx for years. 7zip is at 23.xx as of Nov 2023. p7zip
is missing important features like multi-core parallel compression and extraction
brew install sevenzip
will install the package still maintained by the original developers (https://7-zip.org).
To use, 7zz --help
In 2024 peazip looks like a good choice for MacOS. Cross platform with both console
& GUI modes & supporting 200 archive types. File splitting also very useful: