LinuxでZIPファイルを作成する方法|zipコマンドの使い方をわかりやすく解説

Linuxを使っていると、複数のファイルをまとめて圧縮して保存したい場面がよくあります。そんなときに便利なのが、zipコマンドです。
本記事では、Linuxでzipコマンドを使ってZIPファイルを作成する基本的な方法から、オプションの使い方、注意点、便利な活用例までを丁寧に解説します。初心者にもわかりやすく説明していますので、ぜひ参考にしてください。


zipコマンドとは?

zipコマンドは、複数のファイルやディレクトリを1つのZIP形式のアーカイブファイルに圧縮するためのLinuxコマンドです。Windowsで一般的なZIPファイルと互換性があり、他のOSとのやり取りにも便利です。

Linuxディストリビューションによっては最初からインストールされていないこともありますが、簡単に導入することができます。

# Debian/Ubuntu系
sudo apt install zip

# RedHat/CentOS系
sudo yum install zip

インストールが完了したら、zipコマンドが使えるようになります。


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

最も基本的な使い方は以下のようになります。

zip アーカイブファイル名.zip ファイル1 ファイル2 ...

例:

zip archive.zip file1.txt file2.txt

このコマンドを実行すると、file1.txtfile2.txtを圧縮したarchive.zipが作成されます。


ディレクトリをまるごとZIPにする方法

フォルダ全体をZIP化したい場合は、-rオプション(再帰的)を使います。

zip -r アーカイブファイル名.zip ディレクトリ名

例:

zip -r project.zip my_project/

これにより、my_projectフォルダ内のすべてのファイルとサブディレクトリを含むproject.zipが作成されます。


圧縮レベルの指定

zipコマンドでは圧縮のレベルを指定することもできます。

  • -0:圧縮なし(ストアのみ)
  • -9:最高圧縮

例:

zip -9 -r archive.zip my_folder/

このコマンドは、最高圧縮レベルでフォルダをZIP化します。ただし、圧縮率が高いほど処理時間が長くなる点に注意が必要です。


ファイルを後からZIPに追加する

すでに作成されたZIPファイルに、あとからファイルを追加することも可能です。

zip 既存アーカイブ.zip 追加ファイル

例:

zip archive.zip newfile.txt

これにより、newfile.txtarchive.zipに追加されます。


特定のファイルを除外する方法

特定のファイルを除いてZIP化したいときは、-xオプションを使います。

zip -r archive.zip ディレクトリ名 -x 除外ファイルパターン

例:

zip -r archive.zip my_project/ -x "*.log"

このコマンドでは、.logファイルを除外してZIPファイルを作成します。


パスワード付きZIPファイルを作成する方法

セキュリティを重視したい場合は、-eオプションでパスワードを設定できます。

zip -e archive.zip file.txt

このコマンドを実行すると、パスワードの入力を求められます。設定されたパスワードがないと解凍できなくなります。


ファイル名の文字化け対策

日本語のファイル名を含むZIPを作成すると、Windowsで解凍したときに文字化けすることがあります。これはエンコーディングの違いが原因です。

回避方法としては、-UN=UTF8オプションを付けてUTF-8でファイル名を格納する方法があります。

zip -r -UN=UTF8 archive.zip my_folder/

ただし、Windowsの解凍ツールによってはUTF-8に対応していないものもあるため注意が必要です。


unzipコマンドで解凍確認もできる

作成したZIPファイルはunzipコマンドで中身を確認できます。

unzip -l archive.zip

このコマンドでは、アーカイブに含まれるファイル一覧が表示されます。実際に解凍せずに内容をチェックしたいときに便利です。


実行ログを見やすくする方法

zipコマンドは、標準出力にファイル処理の情報を出しますが、ログとしてファイルに保存したいときは以下のようにします。

zip -r archive.zip my_folder/ > zip.log

これで、出力内容がzip.logファイルに記録されます。


よくあるエラーと対処法

ファイルが見つからない(No such file or directory)

ファイル名やパスを間違えていないか確認しましょう。パスにスペースが含まれている場合は、クォートで囲む必要があります。

zip archive.zip "file with space.txt"

Permission denied

圧縮対象に読み取り権限があるか確認しましょう。必要に応じてsudoを付けて実行することも検討します。

sudo zip -r archive.zip /protected_folder/

まとめ:zipコマンドを使いこなしてファイル管理を効率化しよう

Linuxでのファイル圧縮において、zipコマンドは非常に便利なツールです。基本的な使い方に加えて、ディレクトリの圧縮、圧縮率の変更、ファイルの除外、パスワード設定など、多様なオプションを使いこなすことで、より柔軟にファイルを管理できます。

ZIP形式は、他のOSとの互換性も高く、メール添付やクラウドでの共有にも最適です。ぜひこの機会にzipコマンドをマスターし、日常の作業に役立ててください。

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