【初心者向け】Linuxでunzipを使ってzipファイルを解凍する方法|コマンドの基本から応用まで解説!

Linux

Windowsなどでよく使われる「.zip」形式の圧縮ファイルは、Linuxでも扱うことが可能です。

その際に使うのが、定番の解凍ツール「unzipコマンド」。

この記事では、Linuxでzipファイルを解凍するためのunzipのインストール方法と基本的な使い方、便利なオプションまで初心者向けに丁寧に解説します。

スポンサーリンク

unzipとは?対応しているファイル形式

unzipは、主に「.zip」形式の圧縮ファイルをコマンドラインで解凍するためのツールです。

対応しているファイル形式:

  • 拡張子 .zip の圧縮ファイル(標準的なZIP形式)
  • パスワード付きZIPファイル(※一部制限あり)
  • 複数ファイルやフォルダをまとめたZIPアーカイブ
  • WindowsやmacOSで作成されたZIPファイル

Linuxには他にも様々な圧縮形式(tar.gz, bz2, xzなど)がありますが、特にWindowsとのファイルやり取りが多い場合は、unzipコマンドの使い方を覚えておくと便利です。

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

多くのLinuxディストリビューションでは、unzipはデフォルトではインストールされていない場合があります。まずはインストールしましょう。

Ubuntu / Debian 系:

sudo apt update
sudo apt install unzip -y

CentOS / RHEL 系(バージョン7以降):

sudo yum install unzip -y

または CentOS 8以降、Fedora の場合:

sudo dnf install unzip -y

インストールの確認:

インストールが成功したかどうかを確認するには:

unzip -v

このコマンドを実行すると、unzipのバージョン情報が表示されます。例:

UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP.

Latest sources and executables are at:
http://www.info-zip.org
...

unzipの基本的な使い方

基本的なzipファイルの解凍:

unzip ファイル名.zip

例:

unzip sample.zip

このコマンドを実行すると、sample.zipの内容が現在のディレクトリ(カレントディレクトリ)に解凍されます。

解凍中は、展開されるファイル名が順次表示されます:

Archive:  sample.zip
  inflating: file1.txt
  inflating: file2.txt
   creating: images/
  inflating: images/photo1.jpg
  inflating: images/photo2.jpg

パスワード付きZIPの解凍:

パスワード付きのZIPファイルを解凍する場合:

unzip -P パスワード ファイル名.zip

例:

unzip -P mysecret sample.zip

注意: セキュリティ上の理由から、パスワードをコマンドラインに直接入力するのは推奨されません。パスワードがコマンド履歴に残るためです。

代わりに以下の方法が安全です:

unzip sample.zip

このように実行すると、パスワードが必要な場合は対話形式でパスワードの入力を求められます。

解凍先の指定・ファイルの中身を確認する方法

解凍先ディレクトリを指定する:

デフォルトでは、zipファイルは現在のディレクトリに解凍されますが、-dオプションを使って解凍先を指定できます。

unzip ファイル名.zip -d 解凍先ディレクトリ

例:

unzip sample.zip -d ./unzipped/

この例では、sample.zipの内容が./unzipped/ディレクトリに解凍されます。指定したディレクトリが存在しない場合は、自動的に作成されます。

zipファイルの内容を確認する(解凍せずに):

zipファイルを実際に解凍せずに内容を確認したい場合は、-l(リスト)オプションを使います。

unzip -l ファイル名.zip

例:

unzip -l sample.zip

出力例:

Archive:  sample.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
      215  2024-05-19 12:34   file1.txt
      312  2024-05-19 12:35   file2.txt
        0  2024-05-19 12:35   images/
   215642  2024-05-19 12:36   images/photo1.jpg
   189325  2024-05-19 12:36   images/photo2.jpg
---------                     -------
   405494                     5 files

これにより、ファイルサイズ、日付、時間、ファイル名など、zipファイル内のファイルに関する情報が表示されます。

よく使うオプション一覧

オプション説明使用例
-d解凍先ディレクトリを指定unzip sample.zip -d ./unzipped/
-lzipファイルの内容をリスト表示(解凍しない)unzip -l sample.zip
-o既存ファイルを上書きして解凍(確認なし)unzip -o sample.zip
-n既存ファイルを上書きしないunzip -n sample.zip
-jディレクトリ構造を無視し、すべてのファイルを現在のディレクトリに展開unzip -j sample.zip
-q静かモード(出力を最小限に)unzip -q sample.zip
-Pパスワードを指定(セキュリティ上非推奨)unzip -P password sample.zip
-tzipファイルの整合性をテスト(解凍はしない)unzip -t sample.zip
-v詳細モード(より多くの情報を表示)unzip -v sample.zip

よく使う組み合わせ例:

静かに解凍して既存ファイルを上書き:

unzip -qo sample.zip -d ./unzipped/

整合性をチェックしてから解凍:

unzip -t sample.zip && unzip sample.zip

エラー時の対処法

unzipコマンドを使用中に発生する可能性のある一般的なエラーと、その解決方法を紹介します。

エラー内容原因解決策
unzip: command not foundunzipコマンドがインストールされていないsudo apt install unzip(またはyum/dnf)でインストール
End-of-central-directory signature not foundZIPファイルが破損しているファイルを再ダウンロードするか、修復ツールを使用
Cannot create ... Permission denied解凍先のディレクトリに書き込み権限がないsudoをつけて実行するか、解凍先を変更する
error: invalid passwordパスワードが間違っている正しいパスワードで再試行
error: Zip file structure invalidZIPファイルの構造が不正別のソースからファイルを入手
No space left on deviceディスク容量不足不要なファイルを削除して空き容量を確保

エラーのデバッグ:

エラーの詳細を確認するには-v(詳細)オプションを使用します:

unzip -v sample.zip

文字化けの対処:

日本語などの非ASCII文字を含むZIPファイルで文字化けが発生する場合は、代替ツールとしてunzip-iconvを検討してください:

sudo apt install unzip-iconv
unzip -O cp932 japanese.zip

-O cp932は日本語のShift-JISエンコーディング用のオプションです。

まとめ

Linux環境でも、unzipを使えばコマンドラインで簡単にZIPファイルを解凍可能です。

ポインtのまとめ:

  • unzip.zip 形式に対応した標準的な解凍コマンド
  • sudo apt install unzip または yum install unzip で簡単にインストール可能
  • 基本的な使い方は unzip ファイル名.zip とシンプル
  • -d オプションで解凍先を指定、-l で中身の確認が可能
  • -o(上書き)や-n(上書きしない)などのオプションで動作をカスタマイズ
  • 様々なエラーに対処する方法も覚えておくと安心

サーバー管理・ソフトウェア開発・データ配布など、さまざまな場面で使える基本コマンドですので、ぜひ覚えておきましょう!

ZIPファイルはプラットフォーム間(Windows、macOS、Linux)で広くサポートされているため、異なるOS間でのファイル交換にも最適な形式です。

unzipコマンドをマスターすれば、Linuxでのファイル操作がより効率的になります。

コメント

タイトルとURLをコピーしました