Looking to unpack a bunch of files.7z via terminal.
Is there a command-line tool built in, available or I shall install an application that comes with a graphical interface?
Ask Different is a question and answer site for power users of Apple hardware and software. It only takes a minute to sign up.
Sign up to join this communityLooking to unpack a bunch of files.7z via terminal.
Is there a command-line tool built in, available or I shall install an application that comes with a graphical interface?
You can install p7zip
with Homebrew. So
% brew install p7zip
% 7za x myfiles.7z
Installing Homebrew as @EraserPencil suggested makes sense as the OP might need more programs in the future, which would be at his fingertips then. You can install Homebrew with
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
It should be noted there is 7z e
as well but as commented by @Qback, this does almost never do what you want if you have subdirectories in the archive.
MacOS does not handle the .7z format natively.
The UnArchiver is my favourite tool for handling .7z and many other formats. It is available as both an application and a command line tool if that is how you prefer to operate.
If you don't want to install homebrew, you can install keka (which is an excellent gui for (un)compressing btw) and then link to the included version of p7zip found at Keka.app/Contents/Resources/keka7z
In order to make it function from the command line, I symlinked it into my /usr/local/bin
> ln -s /Applications/Keka.app/Contents/Resources/keka7z /usr/local/bin/7z
> 7z -h
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=utf8,Utf16=on,HugeFiles=on,64 bits,4 CPUs x64)
Modified by aONe for Keka
Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...]
[<@listfiles...>]
We also found another totally free GUI solution that can run on macOS from this other similar question
Keka - the FREE macOS file un/archiver.
Turns out that, as of the time of writing, the official 7z distribution has a mac cli client download - currently 7-Zip 21.07 (2021-12-26).
Download, unzip then run - works beatifully:
$ /Users/me/Downloads/7z2107-mac/7zz x some.7z
The first time you run it will fail with the "Unknown developer" prompt - you must give it permissions in the System preferences dialog
While you got an error like this
MacBook-Air ~ % brew install p7zip
Error: Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)!
To rerun under ARM use:
arch -arm64 brew install ...
To install under x86_64, install Homebrew into /usr/local.
Use bellow code for M1 Chip Mac
arch -arm64 brew install p7zip
arch -arm64
in M1 Chip MacBook, if you try to install without arch -arm64
then got an error.
arch -arm64
that's why we need to install any brew command with the same architecture, other intel base mac no need to add arch -arm64
.
Because you are familiar with CLI and coming from a Linux background, you could try Installing GNU-tar on Mac
You'd first need to install Homebrew,
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
then run brew install gnu-tar
. Think of brew
as the yum
, or apt-get
equivalent.
Then you can use gtar
on your Mac.
# on Mac
$ gtar czvf example.tar.gz example
example/
example/bla.txt
# send it to CentOS
# login to CentOS
$ tar xzvf example.tar.gz
example/
example/bla.txt