Linux環境では、ZIP形式ファイルを解凍するときに「unzipコマンド」を利用します。ここでは、unzipコマンドでZIP形式ファイルを解凍する方法について紹介します。
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コマンドをインストールしておくと、なにかと便利かもしれませんね。