Mac で 7-zip アーカイブを作成する

7-zip は Windows ではわりと使われる圧縮形式であるらしい。圧縮率が優れているとされる。拡張子は 7z。
 Mac においては、7z アーカイブは、標準のアーカイブユーティリティ.app で解凍できる。
 圧縮のほうは、Mac でもアプリをインストールすれば出来なくもない。

keka

keka はさまざまな形式の圧縮・解凍を扱えるアーカイバだ。7z や rar などをはじめ、本当にいろんな圧縮ファイルを解凍してくれる。これさえあれば困らない、ような気がする。
 2021 年 11 月現在、Mac App Store で 490 円とお求めやすい価格となっている。
 公式サイトから無料でダウンロードすることもでき、特に制限もなく使えるが、フリーウェアというわけではなく、寄付ウェアである。
 また、頻繁にアップデートしてくれるのも頼もしい。

🦉 Keka – macOSのファイルアーカイバ

起動すると上記のウィンドウが開かれる。
 圧縮したいファイルやフォルダを、このウィンドウにドロップすると、保存先のダイアログがあらわれ、7z ファイルを作成できる。

右肩のセレクトボタンで、7z 以外の圧縮形式を選択できる。
「パスワード」と「確認」の欄にパスワードを入力すると、ファイルを暗号化できる。
「ソリッド圧縮」というのは、内容のファイルをすべて結合し、ひとつの大きな固まりにしてから圧縮するという、かき揚げみたいなやり方である。
「Mac のリソースフォークを含めない」にチェックを入れると、Windows で解凍した時に出てくる「DS_STORE」などのいらないファイルを含めない。
 大きなファイルを分割したり、圧縮レベルを変更したりも出来る。

特に「Mac のリソースフォークを含めない」というのは優秀で、Windows ユーザにファイルを送る場合には役に立つ。

また、keka は当然、7z ファイルの解凍もおこなえる。

p7zip

Homebrew で p7zip をインストールすれば、コマンドラインでの 7z 圧縮が可能になる。

brew install p7zip

基本的には7z オプション アーカイブ.7z ファイル1 ファイル1 ……という感じで使う。フォルダを指定すればフォルダごと圧縮できる。
 オプションaで圧縮。
 オプションxで解凍。
 オプションlで圧縮ファイル内をリスト表示する。

# 圧縮
$ 7z a ~/Desktop/アーカイブ.7z ~/Desktop/フォルダ
# 解凍
$ 7z x ~/Desktop/アーカイブ.7z
# リスト表示
$ 7z l ~/Desktop/アーカイブ.7z

解凍を使うと、通常カレントディレクトリにファイルやフォルダが出現する。
 新規フォルダを作成して、そこに解凍したい場合は、

7z x -o新しいフォルダ アーカイブ.7z

というように指定すれば、自動でフォルダを作成してくれる。
 なお-oとフォルダ名は半角スペースを入れず、くっつけて指定する。

7z l アーカイブ.7z で中身を見られる。圧縮フォルダ内に「DS_STORE」や、フォルダのアイコンファイルが混入している場合がある。Windows ユーザに送る際には注意したいところだ。

ちなみに筆者の経験では、zip 圧縮と違い、7z を Windows に渡してファイル名が文字化けしていたことは今までない。もともとそういうものなのかもしれないし、Windows 側の解凍ソフトが気を効かせているのかもしれない。よくわからない。

p7zip の使い方は以下の記事がとても参考になりました。ありがとうございます。

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