Linuxコマンド:ZIP形式ファイルを解凍する(unzip)

ファイルなどの圧縮形式の一つであるZIP形式は、WindowsやLinuxなどさまざまなプラットフォームで利用されており、最もメジャーな圧縮形式ではないでしょうか。

Linux環境では、ZIP形式で圧縮するときは「zipコマンド」を利用し、解凍するときは「unzipコマンド」を利用します。

ここでは、ZIP形式ファイルの解凍方法について紹介します。

動作環境

この記事は、以下の環境で実行した結果を基にしています。他のディストリビューションやバージョンでは、動作結果が異なる場合があることをご了承ください。

cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)

yum list installed |grep ^unzip
unzip.x86_64    6.0-19.el7     @base

書式とオプション

書式

unzip [オプション] ZIPファイル 対象ファイル

オプション

おもなオプションは、次のとおりです。

オプション 説明
-o ファイルを確認なしに上書きする
-n ファイルを上書きしない
-x 解凍しないファイルを指定する
-d 指定したディレクトリに解凍する
-j ディレクトリを作成せずに解凍する
-p パイプで受け取ったファイルを解凍する
-l ZIPファイルに格納されているファイルを一覧表示する
-t ZIPファイルに破損がないかテストする
-z ZIPファイルのコメントを表示する
-v 動作中のメッセージを詳しくする

使用例

ZIP形式ファイルを解凍する

「file_1.dat」と「file_5.dat」が含まれるZIP形式ファイル「archive.zip」を解凍するには、次のように実行します。

unzip archive.zip

Archive: archive.zip
  inflating: file_1.dat 
  inflating: file_5.dat

解凍先に同名のファイルがある場合は、以下のように、どのように処理するかを選択するプロンプトが表示されます。

replace file_1.dat? [y]es, [n]o, [A]ll, [N]one, [r]ename:

上書きする場合は「y」、解凍しない場合は「n」、全て上書きする場合は大文字で「A」、全て解凍しない場合は大文字で「N」、ファイル名を変更する場合は「r」を入力します。

なお、上記で紹介しているオプションをあらかじめ指定することで、解凍時の動作を決めておくこともできます。

特定のファイルのみ解凍する

unzipコマンドでは、ZIP形式ファイルから特定のファイルのみを解凍することもできます。

たとえば、ZIP形式ファイル「archive.zip」からファイル「file_1.dat」だけを解凍するには、次のように実行します。

unzip archive.zip file_1.dat

Archive: archive.zip
  inflating: file_1.dat

ちなみに、解凍するファイルの指定には「*(アスタリスク)」などのワイルドカードも使用できます。

ZIP形式ファイルの内容を表示する

解凍せずに、ZIP形式ファイルに格納されているファイルを確認するには、オプション「-l」をつけて実行します。

unzip -l archive.zip 

Archive:  archive.zip
  Length     Date    Time   Name
--------- ---------- -----  ----
10485760  11-10-2018 16:22  file_1.dat
10485760  11-10-2018 16:22  file_5.dat
---------                   -------
20971520                    2 files

まとめ

ZIP形式ファイルは、Linux環境メインならあまり利用する機会はないかもしれませんが、Windows環境では最も利用されている圧縮ファイルフォーマットです。

Windows環境とLinux環境でファイルをやり取りするなら、Linux環境にzipコマンドとunzipコマンドをインストールしておくと、なにかと便利かもしれませんね。

スポンサーリンク