LinuxでZIPファイルを解凍する方法【unzipコマンド】

LinuxでZIPファイルを解凍する方法【unzipコマンド】

記事の文字数:3009

Linux環境でZIPファイルを解凍する際に利用する代表的なツール「unzip」コマンドの使い方を詳しく解説します。基本的な展開方法から解凍先指定、上書き制御、パスワード付きZIPへの対応まで網羅。さらに、文字化けや権限エラーといったトラブルの解決策や、他の圧縮形式との比較も紹介します。

Linuxを利用していると、WindowsやmacOSから送られてきたZIPファイルを解凍する場面は少なくありません。その際に活躍するのが「unzip」コマンドです。

本記事では、基本的な解凍方法から便利なオプション、文字化けや権限エラーといったトラブル解決法まで徹底解説します。Linux初心者でも迷わず使えるように実行例を交えながら紹介するので、日常的なファイル操作から実務まで幅広く役立つ知識が身につきます。

記事のポイント

  • unzipコマンドはLinuxでZIPファイルを解凍するための基本コマンド WindowsやMacとも互換性がある汎用的な形式に対応。

  • インストールが必要な場合がある Ubuntu/Debian系はapt install unzip、CentOS系はyum install unzipで導入可能。

  • 基本的な使い方はシンプル $ unzip file.zip で解凍可能。-dで展開先指定、解凍時は上書き確認が入る。

  • 便利なオプションが豊富

    • 上書き動作制御(-o, -n
    • 中身確認(-l)やテスト(-t
    • パスワード付きZIP対応(-P
    • 静かに実行(-q
  • 特定ファイルだけの解凍も可能 個別指定やワイルドカード(*.txt)で必要なファイルのみ抽出できる。

  • トラブルシューティングも重要

    • 日本語ファイル名の文字化け → -O cp932
    • Permission denied → 権限や所有者の確認・修正が必要

はじめに:unzipコマンドとは

unzipコマンドの概要と役割

unzipコマンドは、ZIP形式で圧縮されたファイルを展開(解凍)するために利用される代表的なツールです。ZIP形式は世界中で広く使われている標準的な圧縮形式で、WindowsやmacOS、Linuxといった異なるOS間でのファイル交換に最適です。たとえばWindowsで送られてきた資料をLinuxサーバーで展開するといったシーンでも問題なく利用できるのが特徴です。

unzipコマンドのインストール方法

一部のLinuxディストリビューションでは、unzipが最初からインストールされていない場合があります。その場合は、以下のようにしてインストールします。

  • Ubuntu/Debian系:
実行コマンド
sudo apt update
sudo apt install unzip
  • CentOS/RHEL系:
実行コマンド
sudo yum install unzip
  • Fedora系:
実行コマンド
sudo dnf install unzip

インストール後は、以下で確認できます。

バージョン確認コマンド
unzip -v

これにより、バージョン情報やビルド環境が表示されます。

unzipコマンドの基本的な使い方

unzipの基本の書式と解凍

実行コマンド
unzip target.zip

このコマンドを実行すると、指定したZIPファイルの内容がカレントディレクトリに展開されます。実行中は処理状況が逐一端末に表示され、どのファイルが解凍されたか確認できます。

unzipで解凍先ディレクトリを指定する方法(-dオプション)

Terminal window
unzip yourzip.zip -d ./mydir

-dオプションを使えば、展開する場所を任意に指定できます。展開先が存在しない場合は自動的に作成されます。プロジェクトごとに整理して展開する際に便利です。

unzipの解凍時の上書き動作確認

展開先に同名ファイルがある場合、unzipはデフォルトで「上書きしますか?」と確認してきます。 選択肢は以下の通りです:

  • [y]es:上書きする
  • [n]o:上書きしない
  • [A]ll:すべて上書きする
  • [N]one:すべて上書きしない
  • [r]ename:新しい名前を付けて保存する

この仕組みにより、意図せず既存ファイルを失うリスクを防ぐことができます。

unzipコマンド 解凍を制御するためのオプション

unzipの上書き制御

  • 確認なしで全て上書きする:
Terminal window
unzip -o target.zip
  • 一切上書きせずに解凍する:
Terminal window
unzip -n target.zip

-oは大量のファイルを素早く展開したい場合に便利ですが、既存ファイルを失うリスクがあります。-nは逆に安全性を優先したい場合に適しています。

unzipでzipの中身を確認する

  • ZIP内のファイル一覧を確認:
Terminal window
unzip -l target.zip

unzipでzipの破損確認をする

  • 展開テスト(破損確認):
Terminal window
unzip -t target.zip

これらを使えば、実際に解凍する前に内容や状態を確認できるため、安全に作業できます。

unzipでパスワード付きZIPファイルの解凍

パスワードで保護されたZIPを解凍する場合:

Terminal window
unzip -P yourpassword secure.zip

ただし、コマンド履歴にパスワードが残るため、公開環境では慎重に扱いましょう。

unzipの表示を制御

解凍中の出力を非表示にする:

Terminal window
unzip -q target.zip

大量のファイルを解凍する際に端末出力を抑えたい場合に役立ちます。

unzipコマンドで特定のファイルや拡張子のみを抽出する

  • 単一ファイルを展開:
Terminal window
unzip archive.zip archive/filename.txt
  • 複数ファイルを展開:
Terminal window
unzip archive.zip archive/file1.txt archive/file2.txt
  • ワイルドカードで抽出:
Terminal window
unzip archive.zip "*.txt"

これにより、大きなアーカイブから必要な部分だけを効率的に取り出すことができます。例えば、テキストログだけ、設定ファイルだけを抽出したいといったケースで活用できます。

unzipコマンドのトラブルシューティング:解凍できない・困ったとき

文字化けへの対処法

Windowsで作成されたZIPをLinuxで展開すると、日本語ファイル名が文字化けすることがあります。その場合は文字コードを指定して解凍します:

Terminal window
unzip -O cp932 test.zip

Permission denied エラーの解決

cannot create ... Permission denied というエラーが出る場合、展開先に書き込み権限がない可能性があります。

  • カレントディレクトリに権限を付与:
Terminal window
chmod +w .
  • ディレクトリの所有者を変更:
Terminal window
sudo chown ユーザー名 ディレクトリ名
  • 一時的に権限を付与:
Terminal window
sudo chmod 777 ディレクトリ名

chmod 777は強力ですが、セキュリティ上のリスクが大きいため常用すべきではありません。根本的な権限設定の見直しが重要です。

ZIPファイルが破損している場合

展開できない原因がファイル破損である場合、エラーメッセージに「bad CRC」などが表示されます。その場合は再ダウンロードや送信元に再取得を依頼しましょう。

Linuxでよく使われる他の圧縮・解凍コマンドとの違い

  • unzip:ZIP専用、Windows互換性が高い。
  • tar/gzip:Linuxで主流の.tar.gz.tar.bz2形式に対応。バックアップ用途で多用されます。
  • 7z:高圧縮率を誇り、暗号化機能も充実。専用の7zコマンドが必要です。

場面に応じて最適な形式・ツールを選択することで、効率よくファイルを扱えます。

Linuxのzip解凍まとめ

以上がLinuxでunzipコマンドを使ってZIPファイルを解凍するための包括的な解説です。基本的な展開方法からオプション活用、文字化けや権限エラーといったトラブル解決まで網羅しました。実務で日常的に利用する方はもちろん、初めてLinuxを触る方にとっても役立つ知識となるでしょう。


以上で本記事の解説を終わります。
よいITライフを!
スポンサーリンク
Scroll to Top