ZIP圧縮されたファイルなどで解凍せずに圧縮されたファイルの一覧を確認したい場合があります。今回は、そんな圧縮されたまま内容を確認する方法について説明します。

ここらへんWindowsは便利でZIP圧縮されたファイルは解凍しなくてもフォルダをダブルクリックすると見ることができ便利で手軽です。

Windowsでは何の苦もなくできることであっても他の環境では手間がかかることがあります。ということで今回はWindows以外での環境で解凍せずにZIPファイルの中身を確認することにします。(キャプチャー画面はmacOSのものになっていますが、Linuxでも基本的に同じです)

今回もこれまで同様にサンプルで利用するファイル・ディレクトリはデスクトップのsampleディレクトリとしています。デスクトップにsampleディレクトリがない場合は作成しておいてください。(コマンド入力ならmkdir ~/Desktop/sampleとして作成することができます)
また、カレントディレクトリも上記の場所になります。cd ~/Desktop/sampleのようにコマンドを入力してカレントディレクトリを変更しておけばよいでしょう。

ZIPファイルの内容を確認

 まず、ZIPファイルの内容を確認してみます。どのようなファイルが圧縮されているかはunzipコマンドを使いオプションにlを指定します。その後に調べるZIPファイル名(ファイルパス)を指定します。以下のようにするとdata1.zipの内容が表示されます。macOSの場合、ZIP圧縮した時に他の環境では不要なファイル(__MACOSX/〜)が付加されることがあります。実際にはmacOSでも無くても問題はないファイルです。

unzip -l data1.zip

zipinfoコマンドが使える環境(macOS)では以下のようにコマンドを入力してもZIPファイルの内容が表示されます。

zipinfo data1.zip

圧縮ファイル名を検索する場合はgrepと組み合わせます。以下のようにするとpngの文字が含まれるファイル名がリストアップされます。

unzip -l data1.zip | grep "png"
zipinfo data1.zip | grep "png" 

tarファイルの内容を確認

 次にtarファイルの中身を確認してみます。この場合、tarコマンドの後にtfオプションを指定します。その後に調べるtarファイル名(ファイルパス)を指定します。以下のようにするとdata1.tarの内容が表示されます。

tar -tf data1.tar

gzip等で圧縮されたtarファイルの場合の内容を表示するには以下のようにオプションを指定します。なお、macOSでは-tzfや-tjf,-tJfでなく-tfとしても自動判別され内容が表示されます。他の環境では正しいオプションを指定しないと動作しないことがあります。

tar -tzf data1.tar.gz
tar -tf data1.tar.gz
tar -tjf data1.tar.bz2
tar -tJf data1.tar.xz

7zファイルの内容を確認

 次に7-Zip (.7z) 形式のファイルの内容を確認してみましょう。macOS/Linux (UNIX) の場合は別途インストールする必要があります。macOSの場合は、これまでも出てきたHomebrewを使ってコマンドをインストールします。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Homebrewをインストールしたら以下のコマンドを入力します。もし、うまくインストールできないようであればXCodeなどの開発環境関係をインストールしてみてください。また、エラーメッセージをAI (Gemini/ChatGPT) などに貼り付けて質問すれば解決方法を教えてくれます。

brew install p7zip

無事にインストールできたかどうかは以下のように7zと入力します。バージョンや使い方を示すヘルプが表示されれば大丈夫です。

7z

また、Homebrew経由でインストールした場合は以下のコマンドでも確認できます。

brew list --versions p7zip

7zコマンドが使えれば7zファイルの中身は以下のようにして確認できます。7zコマンドでlオプションを指定し、その後に圧縮されているファイル名(ファイルパス)を指定します。

7z l data1.7z

zstdファイルの内容を確認

 最後にztsdファイルの中身を確認してみましょう。zstdコマンドがインストールされていない場合は以下のようにコマンドを入力します。すでにインストールされている場合にコマンドを入力しても問題ありません。

brew install zstd

zstd形式のファイルの中身を確認するには以下のようにコマンドを入力します。

zstd -dc data1.tar.zst | tar -tf -

圧縮ファイルの形式は他にもいろいろありますが、だいたい今回取り上げたものを把握しておけば問題ないでしょう。 ということで、また次回。

著者 仲村次郎
いろいろな事に手を出してみたものの結局身につかず、とりあえず目的の事ができればいいんじゃないかみたいな感じで生きております。