Linux zipコマンドチュートリアル(5つの例)

その名の通り、zipコマンドはアーカイブを作成することができるコマンドです。 このチュートリアルでは、いくつかのわかりやすい例を使って、zip の基本を説明します。 しかし、その前に、ここでのすべての例は Ubuntu 18.04 LTS マシンでテストされていることを述べておきます。

Linux zip コマンド

ZIP コマンドライン Linux では、ファイルをパッケージ化して圧縮(アーカイブ)することが可能です。 以下はその構文です:

zip archive_name list_of_files

そして、ツールの man ページでの説明です:

zip is a compression and file packaging utility for Unix, VMS, MSDOS, OS/2, Windows 9x/NT/XP, 
Minix, Atari, Macintosh, Amiga, and Acorn RISC OS.
It is analogous to a combination of the Unix commands tar(1) and compress(1) and is compatible
with PKZIP (Phil Katz's ZIP for MSDOS systems).

以下は Q&A スタイルの例で、zip コマンドがどう動くかについてより良いアイデアを与えるでしょう:

Q1. ZIPファイル名と圧縮するファイルを入力するだけです。 以下はその一例です:

zip files.zip file1.txt file2.txt file3.txt

つまり、このコマンドのアイデアは、3つの .txt ファイルを .zip ファイルに圧縮することです。 以下は、このコマンドが生成した出力です:

adding: file1.txt (stored 0%)
adding: file2.txt (stored 0%)
adding: file3.txt (stored 0%)

そして、「files.zip」という名前のファイルが現在の作業ディレクトリに生成されました。

Q2. アーカイブ(圧縮)ファイルからファイルを削除する方法を教えてください。

これは、-dコマンドラインオプションを使用して行うことができます。 たとえば、files.zip ファイルから file3.txt を削除するために、次のように zip コマンドを実行しました:

zip -d files.zip file3.txt

ツールは次のメッセージによって削除操作を通知しました:

deleting: file3.txt

Q3. 既存の圧縮(アーカイブ)ファイルに新しいファイルを追加するには?

削除操作が -d によって行われるように、既存の圧縮ファイルに新しいファイルを追加したい場合は、-u コマンドラインオプションを使用して行うことができます:

以下は、このコマンドが出力するメッセージです:

adding: file3.txt (stored 0%)
adding: file4.txt (stored 0%)

Q4. アーカイブ後に元のファイルを削除するにはどうしたらよいでしょうか。 しかし、必要であれば、ツールにオリジナルファイルを削除するように強制することができます。

zip -m files.zip file1.txt file2.txt file3.txt file4.txt

このコマンドは、出力に files.zip を作成し、その過程ですべての .txt ファイルを削除しています。 ZIPコマンドの他の便利なオプションは何ですか? これは、一部のファイルを圧縮しないようにしたいときに使用します。 つまり、-x の後に圧縮ファイル名と除外したいファイル名を指定します。

例:

zip files.zip file2.txt

このコマンドは、現在の作業ディレクトリにある file2.txt を除くすべてのファイルを圧縮します。 これは再帰的に圧縮することができ、ディレクトリ (もちろんその内容も含めて) を圧縮したい場合に必要です。

まとめ

zip コマンドは他にも多くの機能を備えているので、ここでは表面を削ったに過ぎません。 ここで説明した例の練習が終わったら、このツールの man ページに移動して、さらに詳しく学ぶことができます。

Linux zip コマンド初心者向けチュートリアル (5 つの例)