7z ファイルを解凍する 【mac】


GUI CUI どちらでも好きな方選んでインストールし、使えばおk

GUI

インストール
brew cask install the-unarchiver

AppStroreからでもインストール可

The Unarchiver


対象の7zファイルを選んで右クリック(control + クリック)で「このアプリケーションで開く」→「The Unarchiver.app」を選択して解凍できる。


CUI

unar

わりと多くの拡張子に対応した解凍パッケージ。
オプション記述なしでパスワード付きファイルも解凍可能。

インストール
brew install unar
解凍
# unar ファイルパス
unar hoge_dir.7z
解凍先を指定して解凍
# unar -o 解凍先ディレクトリ 圧縮ファイル
unar -o ./test_o/ hoge.7z

# 解凍先ディレクトリが存在しなくても生成して解凍してくれる

パスワード付きの場合

パスワード付きを解凍
# unar 圧縮ファイル
unar hoge_pass.7z
# Password (will not be shown): 

パスワードを入力して解凍完了

パスワード付きをパスワード入力なしで解凍
#そのままだと履歴に残るので実行は非推奨

# unar -p パスワード 圧縮ファイル
unar -p passhoge hoge_pass.7z

# 解凍される

@EqualL2 さん、ご指摘ありがとうございました。

圧縮形式や文字化けを問わず解凍出来る unar/The Unarchiverを知った。 - それマグで!
メジャーな圧縮ファイルの解凍用にunarコマンドが便利 - Qiita
【mac】zipファイル操作コマンド - Qiita

p7zip

7zファイル形式の圧縮・解凍が可能なパッケージ。

解凍: 7z x 対象ファイル
圧縮:7z u 圧縮後ファイル 対象ファイル

インストール
brew install p7zip
内容表示
# 7z l ファイルパス
7z l hoge.7z
解凍
# 7z x ファイルパス
7z x archive4.7z
パスワード付きファイルだった場合
# Enter password (will not be echoed):

パスワード入力して解凍完了

テスト実行例

準備(テスト圧縮)
# 適当なディレクトリ等に移動してから

mkdir hoge; echo 'text_dayo' > hoge/piyo.txt; cat hoge/piyo.txt 

#text_dayo

7z u hoge.7z hoge; mkdir test_dir; cp hoge.7z test_dir; cd test_dir; ls

#hoge.7z
テスト解凍
7z x hoge.7z

ls
#hoge   hoge.7z

cat hoge/piyo.txt 

#text_dayo

ディレクトリ構成(ツリー)を無視して解凍する場合

ディレクトリ構成を無視して解凍
# 7z e ファイルパス
7z e hoge.7z

# ディレクトリ構成は無視され、アーカイブ内の全ファイルが同一ディレクトリ内に解凍される
# つまり、ツリー構造が破壊されるので注意

圧縮

圧縮
# 7z u 圧縮後ファイル名 圧縮するディレクトリ

# testディレクトリをhoge.7zとして圧縮
7z u hoge.7z test
パスワード付きで圧縮
7z u -p hoge2.7z test
# Enter password (will not be echoed):
# Verify password (will not be echoed) :

パスワードを2回入力して圧縮完了

Debian Linuxで7zファイルを圧縮・解凍する / p7zipの使い方 -- ぺけみさお

unrar

(7z とは関係ないけど。。。)
rar形式のアーカイブファイル解凍パッケージ

インストール
brew install unrar
解凍
# hoge.rarを解凍
unrar x hoge.rar

参考

macでzip,7z,rarなどのコマンドラインでの扱い - yuyunko's blog
Macの解凍ソフトは『The Unarchiver』で間違いなし(日本語&無料) - Mac初心者の使いこなし日記
Macで7zipを解凍する