概要
ZIP形式アーカイブを展開します。一覧表示、整合性確認、展開先指定もでき、異なるOS間で受け渡されたファイルの展開に向きます。
基本構文
unzip [オプション]... アーカイブ[.zip] [対象パターン...] [-x 除外パターン...] [-d 展開先]詳細解説
unzipは、ZIP形式アーカイブの内容を一覧表示したり、整合性を確認したり、実際に展開したりするコマンドです。Windows環境とのファイル受け渡しで非常によく使われるため、Linux側でも確実に扱えるようにしておくと実務で役立ちます。
既定では現在のディレクトリへ展開し、アーカイブ内のディレクトリ構造も再現します。展開前に-lで一覧、-tで整合性確認、-dで展開先指定を行うと安全です。既定ではアーカイブ自体は削除されません。
最小構成のサーバーではunzipが最初から入っていないことがあります。また、既存ファイルの上書き方針を理解せずに使うと、意図しない展開結果を招くことがあります。
このコマンドを使う場面
ZIP形式の配布物や提出物を展開したい時、Windowsから受け取ったアーカイブの中身を確認したい時、展開前に一覧や整合性を確認したい時に使います。
まず安全に試す方法
1. printf "hellon" > demo.txt
2. zip demo.zip demo.txt
3. unzip -l demo.zip
4. mkdir out
5. unzip demo.zip -d out
6. find out -maxdepth 2 -type f
3分ミッション
少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。
-
ZIPを作成し、unzip -lで内容を確認してから別ディレクトリへ展開します。
-
-tで展開せずに破損の有無を確認します。
実行結果サンプル
-
printf "hellon" > demo.txt zip demo.zip demo.txt unzip -l demo.zipArchive: demo.zip Length Date Time Name --------- ---------- ----- ---- 6......... ..... demo.txt -
mkdir out unzip demo.zip -d out find out -maxdepth 2 -type fout/demo.txt
戻り値コード
- 0 正常終了。処理に成功しました。
- >0 対象不存在、破損、権限不足、上書き不可などで処理できませんでした。
使用例
unzip archive.zipunzip -l archive.zipunzip -t archive.zipunzip archive.zip -d outdirunzip -p archive.zip README.txt
よくあるエラー
-
意図しない場所へ展開された 原因: 現在位置やアーカイブ内のパス構造を確認せずに展開しました。対処: unzip -lで一覧を確認し、必要なら-dで専用ディレクトリへ展開します。
-
既存ファイルが上書きされた 原因: 上書き方針を確認せずに展開しました。対処: -nで上書き禁止にするか、展開先を分けてから確認します。
導入・互換性情報
UnZipはInfo-ZIP系実装が広く使われます。最小構成では未導入のことがあります。暗号化や属性復元、文字化け時の挙動は実装や作成元環境の影響を受けることがあります。
注意点 / セキュリティリスク
危険度は低いですが、現在のディレクトリへそのまま展開すると、既存ファイルの上書きや想定外の階層展開を招くことがあります。まず一覧表示と整合性確認を行い、必要なら展開先を分けます。
FAQ
-
Q. unzipはZIP以外も展開できますか。 A. 基本的にはZIP形式専用です。tar.gzやtar.xzはtarと各圧縮コマンドで扱います。
-
Q. 展開せず中身だけ見られますか。 A. はい。-lで一覧表示、-tで整合性確認、-pで内容の標準出力ができます。
関連用語
参照リンク
- カテゴリー: Archive And Transfer
- レベル: Basic