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?
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?
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
The official 7z distribution release is available in brew.
$ brew install sevenzip
https://formulae.brew.sh/formula/sevenzip
Usage (cli):
$ 7zz -?
7-Zip (z) 23.01 (x64) : Copyright (c) 1999-2023 Igor Pavlov : 2023-06-20
64-bit locale=en_US.utf-8 Threads:12 OPEN_MAX:65535
Usage: 7zz <command> [<switches>...] <archive_name> [<file_names>...] [@listfile]
<Commands>
a : Add files to archive
b : Benchmark
d : Delete files from archive
e : Extract files from archive (without using directory names)
h : Calculate hash values for files
i : Show information about supported formats
l : List contents of archive
rn : Rename files in archive
t : Test integrity of archive
u : Update files to archive
x : eXtract files with full paths
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.
– Vivek
Mar 04 '22 at 09:29
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.
– Vivek
Mar 04 '22 at 09:43
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