はじめに
こんにちは!今回はunzipコマンドについて解説します。
unzipは、ZIP形式のファイルを展開(解凍)するコマンドです。Windowsと互換性が高い圧縮形式なので、クロスプラットフォームでのファイル受け渡しに最適。メールで送られてきたZIPファイルや、ダウンロードしたzipファイルを展開するときに毎日使うコマンドですね。
「ZIPファイルの開き箱」って感じです。
unzipコマンドとは
unzipは、ZIP形式のアーカイブファイルを展開するコマンドです。“unzip"の名の通り、zip圧縮されたファイルを元に戻します。
ZIP形式は、Windows・Mac・Linux・スマートフォンなど、あらゆるプラットフォームで標準的に対応しているから、ファイル交換に最適なんです。gzipやtarと違い、複数ファイルの圧縮、フォルダ構造の保持、パスワード保護などの機能が豊富。ビジネスシーンで一番よく使われる圧縮形式ですね。
基本構文
|
|
ZIPファイルを指定するだけで展開開始。デフォルトではカレントディレクトリに展開されます。
主なオプション
| オプション | 説明 |
|---|---|
-l |
ZIPファイルの内容をリストアップ(展開しない) |
-v |
詳細表示 |
-q |
出力を抑制(quiet) |
-d |
展開先ディレクトリを指定 |
-o |
既存ファイルに上書き(確認なし) |
-n |
既存ファイルを上書きしない |
-j |
ディレクトリ構造を無視してファイルのみ展開 |
-t |
テスト実行(展開せずにファイル整合性チェック) |
-P |
パスワードを指定 |
-x ファイル |
特定ファイルを除外 |
使用例
例1: 基本的な展開
|
|
実行結果:
|
|
archive.zipをカレントディレクトリに展開。ファイル一覧が表示されます。
例2: ZIPファイルの内容確認(展開しない)
|
|
実行結果:
|
|
展開せずに、ZIPファイルの内容を確認。どんなファイルが入っているか事前チェック。
例3: 展開先ディレクトリを指定
|
|
実行結果:
|
|
-dオプションで展開先ディレクトリを指定。
例4: 詳細表示で展開
|
|
実行結果:
|
|
各ファイルの圧縮率やCRCハッシュも表示。
例5: ディレクトリ構造を無視して展開
|
|
実行結果:
|
|
-jで、ZIP内のディレクトリ構造を無視して、すべてのファイルを1つのディレクトリに展開。
例6: ファイル整合性をテスト
|
|
実行結果:
|
|
展開せずに、ファイルが破損していないかチェック。ダウンロード後の確認に最適。
例7: パスワード保護されたZIPを展開
|
|
実行結果:
|
|
-Pオプションでパスワードを指定。対話的にパスワード入力する代わりに、自動化可能。
例8: 既存ファイルを上書きしない
|
|
実行結果:
|
|
同じ名前のファイルが存在している場合、スキップ。既存ファイルを保護。
例9: 特定ファイルを除外して展開
|
|
実行結果:
|
|
-xで特定ファイルパターンを除外。テキストファイルだけ展開しない、など。
例10: 出力を抑制して展開
|
|
実行結果:
|
|
-qで出力を抑制。スクリプトでの自動化に向いています。
Tips・注意点
ZIP ファイルの作成はzipコマンド
|
|
unzip は解凍専用。作成はzipコマンドを使用。
Windows と の互換性が高い
|
|
ZIP形式は最も互換性が高い圧縮形式。クロスプラットフォーム共有に最適。
大容量 ZIPは -t でテスト
|
|
大きなZIPファイルを展開する前に、-tでテスト。展開途中の失敗を防げます。
実践的な使い方
ダウンロードされたZIPを自動展開
|
|
ファイル整合性チェック後に展開。エラー時は処理中止。
複数のZIPファイルを一括展開
|
|
カレントディレクトリの全ZIPファイルを展開。各ZIPは別々のフォルダに展開。
ZIPファイルから特定ファイルのみ抽出
|
|
ZIPの中から特定ファイルだけを抽出。全体展開は不要な場合に便利。
まとめ
unzipコマンドのポイント:
- ZIP形式のアーカイブを展開する基本ツール
- -l: 内容を確認(展開しない)
- -d: 展開先ディレクトリ指定
- -v: 圧縮率などの詳細表示
- -t: ファイル整合性をテスト
- -P: パスワード保護されたZIPに対応
- -j: ディレクトリ構造を無視
- よく使う組み合わせ:
unzip -l,unzip -t,unzip -d
Windowsとの互換性が高く、クロスプラットフォーム共有に最適。展開前に-lや-tでチェックするのが実務的なやり方ですよ!