ここから本文です

1分で解説、きょうのLinux基本コマンド講座:「unzip」コマンド

@IT 7月26日(火)6時10分配信

 本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、ZIPファイルからファイルを取り出す「unzip」コマンドを解説します。

【応用】ZIPファイルから指定したファイルだけを展開するコマンド

●unzipコマンドとは?

 「unzip」は、ZIP形式で圧縮されているファイルから、ファイルを取り出すためのコマンドです。「ZIPファイルを展開する」と表現されることもあります。

○unzipコマンドの書式

unzip [オプション] ZIPファイル 対象ファイル
※[ ]は省略可能な引数を示しています

○unzipコマンドの主なオプション

 unzipコマンドの主なオプションは次の通りです。

オプション / 意味
-u / 更新があったファイルまたは新規ファイルだけを展開する
-f / ファイルの更新だけを行い、新規作成はしない
-o / ファイルを確認なしに上書きする
-n / ファイルを上書きしない
-x / 展開しないファイルを指定する
-d ディレクトリ / 指定したディレクトリに展開する
-j / ディレクトリを作成せずに展開する
-p / パイプで受け取ったファイルを展開する
-C / ファイル指定時の大文字小文字を区別する
-L / 展開するファイル名を小文字にする
-l / ZIP内のファイルを一覧表示する
-t / ZIPファイルに破損がないかテストする(どのように展開されるかを確認することも可能)
-z / ZIPファイルのコメントを表示する
-q / 動作中のメッセージを減らす(「-qq」でさらに減らす)
-v / 動作中のメッセージを詳しくする
-M / 動作中のメッセージを「more」コマンドで表示する


●ZIPファイルを展開する

 「unzip ZIPファイル」で、ZIPファイルを展開します。ZIPファイルの拡張子は省略できます。なお、今回の実行例で使用している「text0720.zip」と「data0720.zip」は第34回の実行例で作成したZIPファイルです。

○コマンド実行例

unzip text0720.zip
(「text0720.zip」を展開する、全てのファイルを取り出す)

 展開先に同名のファイルがある場合は、どのように処理するかを選択するプロンプトが表示されます。上書きする場合は「y」、展開しない場合は「n」、全て上書きする場合は大文字で「A」、全て展開しない場合は大文字で「N」、ファイル名を変更する場合は「r」を入力します。

 オプションで、常に上書きする(-o)/上書きしない(-n)/新しい場合のみ上書きする(-u)を指定することもできます。

 ZIPファイルにディレクトリが含まれている場合は、同名のディレクトリが作成され、その中にファイルが展開されます。ディレクトリを作成したくない場合は、「-j」オプションを使用します。

 各オプションの詳細については、あらためて取り上げる予定です。

●ファイルを指定して展開する

 unzipコマンドでは、展開するファイルを指定することができます。例えば、「*.txt」だけを展開したい場合は、「unzip ZIPファイル "*.txt"」のように指定します。

○コマンド実行例

unzip data0720.zip "*.txt"
(「data0720.zip」から「*.txt」だけを展開する)

 なお、「unzip ZIPファイル "*.txt"」を実行する際には、「""」の指定を忘れないようにしましょう(※)。

○※ワンポイント

 カレントディレクトリに「*.txt」がない場合は問題ありませんが、例えば「test.txt」が存在した場合は、シェルがワイルドカードを展開して「unzip ZIPファイル text.txt」が実行されることになります。


●筆者紹介 西村めぐみ:PC-9801N/PC-386MからのDOSユーザー。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。のち退社し、専業ライターとして活動を開始。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。

最終更新:7月26日(火)6時10分

@IT