【Linux】zipファイルの圧縮方法(zipコマンド)

【Linux】zipファイルの圧縮方法(zipコマンド)

記事の文字数:2308

LinuxでのZIPファイル圧縮方法を徹底解説するガイドです。基本的なzipコマンドの使い方から、パスワード設定・ファイル除外・圧縮率の調整などの応用操作、大容量ファイルへの対応までを網羅。ZIP形式の特徴や他形式との比較も紹介し、用途に応じた最適な圧縮方法が分かります。

LinuxでZIPファイルを扱う場面は、日常的なファイル圧縮からシステム運用に至るまで多岐にわたります。ZIPは「圧縮とアーカイブを同時に行える」という特徴を持ち、WindowsやmacOSを含むほとんどの環境で標準サポートされているため、異なるOS間でのやり取りにも適しています。

本記事では、Linuxにおけるzipコマンドの基本操作から、パスワード保護や不要ファイルの除外といった応用的な使い方、大容量ファイルへの対処法まで詳しく解説します。ZIP形式の特性を理解し、用途に応じた最適な圧縮方法を選べるようになりましょう。

ZIP形式の概要とLinuxでの位置づけ

ZIP形式の基本的な特徴

ZIP形式は、ファイルのアーカイブ化と圧縮を1ステップで実行できる形式です。通常、Linuxでよく用いられるtargzipの組み合わせでは「アーカイブ → 圧縮」という2段階の手順が必要ですが、ZIPはまとめと圧縮を同時に行える点が大きな特徴です。そのため、ユーザーが操作する際の手間を減らし、シンプルにファイルを配布したい場合に非常に便利です。

ZIP形式の高い互換性

ZIPはWindows、macOS、Linuxをはじめ、AndroidやiOSなどのモバイル環境でも標準的にサポートされています。特に、OSを跨いだファイル交換やメール添付で使われることが多く、ファイル圧縮形式として最も一般的な存在です。業務システムや教育機関でのファイル提出、さらにクラウドストレージ(Google DriveやDropboxなど)との親和性も高いため、用途の幅は非常に広いといえます。

ZIP形式と他の圧縮形式の比較

  • 圧縮率:7zip(.7z)はzipよりも高い圧縮率を誇りますが、解凍環境が限られる場合があります。tar.gzも高い圧縮率を実現できますが、複数ステップが必要です。

  • 処理速度:ZIPは小規模ファイルや数百KB〜数MB程度のファイル群では高速に処理でき、負荷も軽めです。

  • 用途に応じた選択

    • 互換性重視:zip
    • 圧縮率重視:7zip
    • Linuxバックアップ標準:tar.gz

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

zipコマンドの概要

Linuxにおいてzipコマンドは非常にシンプルかつ柔軟なファイル圧縮手段です。単一ファイルから複数ファイル、さらにはディレクトリ全体の圧縮まで幅広く対応しています。インストールされていない場合は、Debian/Ubuntu系では以下で導入できます。

実行コマンド
sudo apt install zip

zipコマンドの基本構文

構文
zip アーカイブ名.zip ファイル名

zipコマンドのファイル圧縮例(単一・複数・ワイルドカード)

  • 単一ファイルの圧縮:

    実行コマンド
    zip archive.zip file.txt
  • 複数ファイルの圧縮:

    実行コマンド
    zip archive.zip file1.txt file2.txt file3.txt
  • ワイルドカードの利用(例:拡張子指定):

    実行コマンド
    zip archive.zip *.txt

zipコマンドのディレクトリ圧縮

-rオプションを使用することで、ディレクトリごと再帰的に圧縮可能です。

実行コマンド
zip -r archive.zip archive

これにより、サブディレクトリも含めてアーカイブ化されます。バックアップ用途では必須のオプションといえるでしょう。

Linux zip コマンドの応用操作とオプション

zipコマンドのパスワード付き圧縮(暗号化)

セキュリティを確保したい場合はパスワード付きのZIPを作成できます。

  • 対話的にパスワードを指定:

    実行コマンド
    zip -e archive.zip file.txt

    (入力時にパスワードが非表示になります)

  • コマンドに直接パスワードを指定:

    実行コマンド
    zip -P password archive.zip file.txt

    ※セキュリティ上、履歴に残るため推奨されません。

zipコマンドで特定のファイルやディレクトリを除外

不要なファイルを除外する場合は-xを利用します。

実行コマンド
zip -r archive.zip archive -x "*.DS_Store" "*__MACOSX*"

Mac特有の隠しファイルを除外する際によく利用されます。引用符で囲むことで、シェルによるワイルドカード展開を防止できます。

zipコマンド圧縮率の調整

ZIPの圧縮レベルは-0(無圧縮)〜-9(最高圧縮)まで指定可能です。

  • 高圧縮率(時間はかかる):

    実行コマンド
    zip -9 archive.zip file.txt
  • 高速圧縮(容量は大きめ):

    実行コマンド
    zip -1 archive.zip file.txt

zipコマンド その他の便利なオプション

  • 更新されたファイルのみ追加:

    実行コマンド
    zip -u archive.zip file.txt
  • 処理内容を非表示:

    実行コマンド
    zip -q archive.zip file.txt
  • アーカイブからファイルを削除:

    実行コマンド
    zip -d archive.zip file.txt

ZIP圧縮形式の特性とLinux環境での選択

ZIPの利点

  • 互換性:クロスプラットフォーム対応でトラブルが少ない。
  • 操作性:シンプルなコマンドで管理可能。
  • エラー耐性:ZIPはファイル単位で圧縮されるため、一部破損しても他のファイルを救える場合があります。

他の形式との比較

  • zip:互換性・利便性を最優先する場合
  • 7zip:圧縮率・暗号化強度を重視する場合
  • tar.gz:Linuxでのバックアップやシステム管理に最適

総合的な選択基準

ZIPは「幅広い環境で誰にでも渡せる」点で優れており、特に配布用や異なるOS間での共有に最適です。一方で、システムバックアップや容量削減が最優先の場面では7zipやtar.gzの利用を検討すべきです。

ZIPはロスレス(可逆)圧縮形式であり、元データを損なうことなく安全に扱えるため、ビジネス用途から日常的なファイル交換まで、今後も長く利用され続ける形式といえるでしょう。


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