ツール

最終更新日: 2024.02.05 (公開: 2024.02.05)

unzipとは?zipファイルを展開するコマンドについて詳しく解説

unzipとは?zipファイルを展開するコマンドについて詳しく解説

本記事では、unzipの基本について解説します。具体的に解説する事項は、以下の通りです。

  • unzipの概要
  • unzipの基本的な使い方
  • unzipコマンドの応用法
  • 解凍時の文字化けへの対処法

unzipコマンドとは、コンピュータ上で圧縮されたファイルを圧縮前の状態に戻すコマンドです。本記事ではunzipコマンドの使い方や、各種オプションについて解説します。

コマンドの使い方をマスターしたい方や圧縮ファイルの解凍方法が分からず困っている方は、ぜひ参考にしてください。

unzipコマンドとは?


unzipコマンドは、LinuxやMacなどのOSで、zip形式の圧縮ファイルを解凍するために使用されるコマンドです。zip形式は、ディレクトリや複数のファイルをひとつのファイルに圧縮する際に広く利用されています。

この形式で圧縮されたファイルは拡張子が.zipとなり、unzipコマンドを使用して元の状態に戻すことが可能です。unzipコマンドの基本的な使い方は、unzip オプション 対象ファイルという形式でおこないます。

また、unzipコマンドは、ファイルの解凍だけでなく内容の確認や解凍のテストにも役立ちます。しかし、unzipコマンドはUNIX系のコマンドになるため、Windowのコマンドプロンプトでは使用できない点は注意してください。

unzipがインストールされているかを確認しよう

Linux環境では、unzipコマンドが初期状態でインストールされていないことがあります。

unzipがインストールされているか確認するには、yum list installed | grep zipというコマンドを使用しましょう。このコマンドは、インストールされているパッケージのリストを表示するyum list installedと、そのリストからzipを含むものだけを抽出するgrep zipの組み合わせで構成されています。

もしunzipがインストールされていない場合、sudo yum install zip unzipと入力することで、unzipとzipを両方インストールできます。なお、ここでのsudoは管理者権限での操作という意味です。

yumはパッケージをインストールするためのコマンドですが、Red Hat系から派生したLinux OS(CentOSやAmazonlinuxなど)で、使用が叶います。UbuntuなどDebian系から派生しているLinuxでは、aptがパッケージ管理コマンドになるので、インストール前の確認をおすすめします。

unzipコマンドのオプション


unzipコマンドには、さまざまなオプションがあり、それぞれ特定の機能があります。以下の表に、unzipコマンドの主なオプションについて掲載するのでぜひ参考にしてください。

オプション 説明
-c 展開結果を標準出力に表示
-d 指定したディレクトリにファイルを展開
-l アーカイブの中身を表示
-p 展開結果をパイプに渡す
-t アーカイブの展開テストを実行
-v アーカイブの中身とその詳細を表示
-z アーカイブのコメントを表示

たとえば、unzip -d dir tmp.zipというコマンドを使用すると、tmp.zipというアーカイブをdirディレクトリに展開します。また、unzip -l tmp.zipというコマンドでは、tmp.zipの中身を一覧表示できます。

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

Laravelでどのような開発ができる?

ここでは、unzipの基本的な使い方を4つ紹介します。

  • ファイルを解凍する
  • ファイル解凍先を指定して展開する
  • アーカイブの中身を確認する
  • -tで正常に展開できるか確認する

ここで紹介する使い方をマスターすれば、unzipをある程度使いこなせるようになるので、必ず押さえておきましょう。

ファイルを解凍する

unzipコマンドは、zipファイルの解凍ができ、オプションを指定しなくても使用可能です。たとえば、file.zipというファイルを解凍する場合、ターミナルにunzip file.zipと入力しコマンドを実行すると、file.zip内のファイルが現在のディレクトリに展開されます。

さらに、解凍プロセス中ですでに同名のファイルが存在する場合、unzipコマンドはユーザーに対してどのように処理するか質問してきます。たとえば、file/file1.jpgというファイルがすでにある場合、コマンドラインには、replace file/file1.jpg? [y]es, [n]o, [A]ll, [N]one, [r]ename:と表示されるのです。

ここで、ユーザーはファイルを上書きするか(y)しないか(n)、すべてを上書きするか(A)スキップするか(N)、または名前を変更するか(r)が選択でき括弧内の英字と同じものをキーボードから入力します。

ファイル解凍先を指定して展開する

unzipコマンドはファイルを特定のディレクトリに解凍できます。ただし、-解凍するにはdオプションの使用が必要です。たとえば、test.zipというアーカイブをtmpディレクトリに展開したい場合、ターミナルにunzip -d tmp test.zipと入力・実行すると、全ファイルがtmpディレクトリに解凍されます。

この方法は、ファイルを整理しやすくするため非常に便利で、とくに多くのファイルが含まれる大きなアーカイブを扱う場合や、特定のプロジェクトやタスクに関連するファイルを特定の場所に集めたい場合に有効です。

また、この機能は、バックアップされたデータの復元や複数のファイルを一箇所に集約する際にも役に立ちます。たとえば、複数の文書や画像ファイルが含まれるアーカイブを、プロジェクト固有のフォルダへ直接解凍することで、作業効率を大幅向上できます。

さらに、ディレクトリ構造を維持しながらファイルを展開するため、元ファイルの配置をそのまま保持することも可能です。これにより、ファイルの配置や構造に関する混乱を防ぐため、大規模なプロジェクトや複雑なファイルシステムを扱う際に有効です。

また特定のディレクトリに解凍することで、セキュリティを強化し重要なデータの保護にもつながります。

アーカイブの中身を確認する

unzipコマンドの使い方の中で重要なのが、アーカイブの中身を確認する機能で、コマンドでは-lオプションを使用します。

たとえば、file.zipというアーカイブの確認には、ターミナルにunzip -l file.zipと入力・実行すると、ファイルのリストや各ファイルのサイズ、圧縮された日付などの情報が確認できます。

これにより、ユーザーはアーカイブ内の特定ファイルを素早く特定し、必要に応じて特定のファイルだけ解凍が可能です。

この機能は、大きなアーカイブを扱う際や特定のファイルを探している場合に非常に役立ちます。また、アーカイブの内容を確認することで、不要なファイルを解凍せずに、必要なデータだけを取り出せます。

とくに、ディスクスペースが限られている場合や、特定のファイルのみを迅速にアクセスしたい場合に有効といえるでしょう。

さらに、-lオプションは、アーカイブが正しく作成されたかを確認する際にも役立ちます。たとえば、バックアッププロセスの一環として多くのファイルをアーカイブした後、その内容を確認して重要なファイルがすべて含まれているかを確認できます。

-tで正常に展開できるか確認する

unzipコマンドの重要な機能は、アーカイブが正常に展開できるかテストすることで、-tオプションを使用しておこなうこともあります。

たとえば、file.zipというアーカイブが正常か確認するには、ターミナルにunzip -t file.zipと入力・実行して、アーカイブ内の各ファイルが正常に読み取れるかチェックします。

また、問題があれば報告も可能です。これにより、ユーザーはアーカイブの整合性を確認し、安全にファイルを使用できます。

このテスト機能は、とくにダウンロードしたアーカイブや長期間保存されていたアーカイブを扱う際に役立ちます。また、重要なデータを扱う場合、データの安全性が担保さているかバックアップデータの整合性を確認する際にも非常に有用です。

さらに、-tオプションは、アーカイブが複数のファイルやディレクトリを含む複雑な構造を持つ場合に有効です。このオプションを使用することで、アーカイブ内のすべてのファイルが正しく圧縮され、エラーなく展開できることを確認できます。これにより、アーカイブの展開後に、予期せぬエラーや問題に直面するリスクを最小限に抑えられます。

unzipコマンドのさらなる応用法

Webデザイナーに必要なスキル

ここまでunzipコマンドの基本的な使用法を解説しました。ここからは、応用法を4つ解説します。

  • -f で展開済みのファイルを上書きしよう
  • -nで展開済みのファイルをスキップしよう
  • -Zで詳細なファイルの内容を表示しよう
  • アスタリスクを用いてunzipで複数ファイルを解凍しよう

unzipの基本をマスターできたら、上記のような応用法にチャレンジしてみましょう。応用コマンドを使いこなすことで、より作業効率が高まります。

-f で展開済みのファイルを上書きしよう

unzipコマンドの応用的な使い方の1つ目は、-fオプションを使用した展開済みファイルの上書きがです。すでに展開されているファイルがアーカイブ内に新しいバージョンとして存在する場合のみ、このオプションを使うことで該当ファイルへの上書きができます。このオプションは、アーカイブ内の一部ファイルがすでに解凍されている場合に便利です。

たとえば、unzip -f archive.zipのように使用します。展開済みでないファイルはプロセスで無視され、既存のファイルのみが新しいバージョンに更新されます。これにより、必要なファイルのみを効率的に更新できるため、時間とリソースの節約につながるでしょう。

-nで展開済みのファイルをスキップしよう

unzipコマンドの別の応用的な使い方の2つ目は、-nオプションを使用した展開済みファイルのスキップです。このオプションを使用すると、すでに解凍されているファイルは無視されまだ解凍されていないファイルのみが展開されます。

たとえば、特定のアーカイブから特定のファイルのみ抽出したい場合や、アーカイブの一部がすでに解凍されている場合に効果的です。

使い方は、unzip -n archive.zipと入力し実行してください。これにより、解凍されていないか更新されていないファイルのみが解凍されます。

この機能は、データの整合性を保ちながら、必要なファイルのみを迅速に取り出すのに役立ちます。また、定期的なバックアップから特定のファイルを復元する際に、すでに存在するファイルを再度解凍することなく、必要なものだけを簡単に取り出すことが可能です。

-Zで詳細なファイルの内容を表示しよう

unzipコマンドの応用的な使い方の3つ目は、-Zオプションを使用した詳細なファイル内容の表示です。このオプションでは、-lオプションよりもさらに詳細なファイル情報を表示できます。

具体的な情報は、以下の通りです。

  • ファイルのサイズ
  • 圧縮率
  • 作成日時

コマンドの形式は、unzip -Z archive.zipです。この機能は、アーカイブの内容を詳細に分析する必要がある場合や、特定のファイルの特性を理解する必要がある場合に有用です。たとえば、データのバックアップやアーカイブの整合性チェック・セキュリティ分析などにおいて、ファイルの詳細情報が重要な役割を果たします。

また、データの圧縮効率やファイルの整合性を確認する際にも、このオプションは非常に役立ちます。とくに、大量のデータを扱う場合やアーカイブの整合性を保証する場合に、-Zオプションを使用することで効率的かつ正確に必要な情報を得ることが可能です。

アスタリスクを用いてunzipで複数ファイルを解凍しよう

unzipコマンドの応用的な使い方の4つ目は、アスタリスクを用いた複数ファイルの解凍です。この方法では、ワイルドカードであるアスタリスク(*)を使用して、特定のパターンに一致する複数のアーカイブを一度に解凍できます。

たとえば、すべてのzipファイルを解凍するにはunzip ‘*.zip’と入力します。

この方法は、複数のアーカイブを効率的に処理する必要がある場合や、特定のパターンに一致するファイル群を一括で解凍したい場合に有効です。

また、日付やプロジェクト名などで命名された複数のアーカイブファイルがある場合、アスタリスクを使用して特定の命名規則に一致するファイルだけを簡単に解凍できます。これにより、手作業でファイルを解凍する手間が省けるため、作業の効率化が図れるでしょう。

さらに、この方法は、バックアップファイルの復元やアーカイブされたログファイルの分析など、さまざまなシナリオで有効に活用できます。

unzipで解凍時に文字化けしてしまうときの対処法

シェルスクリプトとは何?

OSごとに文字コードが異なるため、違うOSで解凍してしまうと文字化けする可能性があります。たとえば、日本語を含んだテキストファイルをWindows上でzipファイルに圧縮した場合、Linuxで解凍すると文字化けを起こすことがあります。

これは、Windowsが日本語をShift_JIS(CP932)で符号化し、Linuxが日本語をUTF-8で符号化しているためです。

そこで、解凍時に-Oの後に文字コードを入力することで文字化けを防げます。unzip -O sjis 、またはunzip -O cp932 と入力しましょう。

また、unarというツールを別途インストールして使用する方法もあります。unarは文字コードの指定が不要で、日本語や英数字などが混合したファイルであっても問題なく解凍できます。

インストール後は、zipファイル名を指定するだけで解凍可能です。

unzipコマンドでファイルを適切に管理しよう

未経験者がエンジニアになるまでのステップ

本記事では、unzipコマンドについて基本的な内容を解説しました。基本操作を理解することで、unzipコマンドの上手な活用が可能です。基本操作が理解できた方は応用的な使い方も理解することで、さらなる作業の効率化が図れます。

前の記事

OS(オペレーティングシステム)とは?初心者向けに基礎知識と種類・役割を解説

2024.02.05

OS(オペレーティングシステム)とは?初心者向けに基礎知識と種類・役割を解説

#ツール

次の記事

SSO(シングルサインオン)とは?意味や仕組み、採用するメリット・デメリットを解説

2024.02.09

SSO(シングルサインオン)とは?意味や仕組み、採用するメリット・デメリットを解説

#ツール

アクセスランキング 人気のある記事をピックアップ!

    コードカキタイがオススメする記事!

    1. 子供におすすめのプログラミングスクール10選!学習メリットや教室選びのコツも紹介

      2024.01.26

      子供におすすめのプログラミングスクール10選!学習メリットや教室選びのコツも紹介

      #プログラミングスクール

    2. 【完全版】大学生におすすめのプログラミングスクール13選!選ぶコツも詳しく解説

      2022.01.06

      【完全版】大学生におすすめのプログラミングスクール13選!選ぶコツも詳しく解説

      #プログラミングスクール

    3. 【未経験でも転職可】30代におすすめプログラミングスクール8選!

      2024.01.26

      【未経験でも転職可】30代におすすめプログラミングスクール8選!

      #プログラミングスクール

    4. 初心者必見!独学のJava学習方法とおすすめ本、アプリを詳しく解説

      2024.01.26

      初心者必見!独学のJava学習方法とおすすめ本、アプリを詳しく解説

      #JAVA

    5. 忙しい社会人におすすめプログラミングスクール15選!失敗しない選び方も詳しく解説

      2024.01.26

      忙しい社会人におすすめプログラミングスクール15選!失敗しない選び方も詳しく解説

      #プログラミングスクール

    1. 【無料あり】大阪のおすすめプログラミングスクール14選!スクール選びのコツも紹介

      2022.01.06

      【無料あり】大阪のおすすめプログラミングスクール14選!スクール選びのコツも紹介

      #プログラミングスクール

    2. 【目的別】東京のおすすめプログラミングスクール20選!スクール選びのコツも徹底解説

      2024.01.26

      【目的別】東京のおすすめプログラミングスクール20選!スクール選びのコツも徹底解説

      #プログラミングスクール

    3. 【無料あり】福岡のおすすめプログラミングスクール13選!選び方も詳しく解説

      2024.01.26

      【無料あり】福岡のおすすめプログラミングスクール13選!選び方も詳しく解説

      #プログラミングスクール

    4. 【徹底比較】名古屋のおすすめプログラミングスクール13選!選び方も詳しく解説

      2024.01.26

      【徹底比較】名古屋のおすすめプログラミングスクール13選!選び方も詳しく解説

      #プログラミングスクール

    5. 【徹底比較】おすすめのプログラミングスクール18選!失敗しない選び方も徹底解説

      2024.01.26

      【徹底比較】おすすめのプログラミングスクール18選!失敗しない選び方も徹底解説

      #プログラミングスクール