Zip は可逆データ圧縮をサポートする最も広く使われているアーカイブファイル形式です。

Zip ファイルは、1 つまたは複数の圧縮ファイルまたはディレクトリを含むデータコンテナです。 圧縮された (zip) ファイルは、非圧縮ファイルよりも少ないディスク容量で、1 つのマシンから別のマシンへより迅速に転送できます。

このチュートリアルでは、zip コマンドを使用して Linux でファイルやディレクトリを Zip 圧縮する方法を説明します。

zip コマンド #

zip は Zip アーカイブの作成を支援するコマンドライン ユーティリティです。

Zip コマンドは次のような構文をとります:

zip OPTIONS ARCHIVE_NAME FILES

Zip アーカイブを特定のディレクトリに作成するには、ユーザはそのディレクトリに書き込み権限を持っている必要があります。

ファイルの所有権とパーミッションを保持するには、tarコマンドを使用してください。

ほとんどの Linux ディストリビューションでは、zip ユーティリティはデフォルトではインストールされていませんが、ディストリビューションのパッケージマネージャを使用して、簡単にインストールすることができます。

Install Zip on Ubuntu and Debian #

sudo apt install zip

Install Zip on CentOS and Fedora #

sudo yum install zip

ファイルやディレクトリをZIPする方法 #

一つ以上のファイルをZIPするには、アーカイブに追加するファイルを以下のようにスペースで区切って指定して下さい。

zip archivename.zip filename1 filename2 filename3
adding: filename1 (deflated 63%)adding: filename2 (stored 0%)adding: filename3 (deflated 38%)

デフォルトでは、zipコマンドはアーカイブに追加されるファイルの名前と圧縮方法を表示します。 圧縮方法と圧縮レベルについては後ほど説明します。

Zip アーカイブ名を指定する際、.zip 拡張子を省略すると、アーカイブ名にドットが含まれていない限り自動的に拡張子が付加されます。 zip archivename.zip filenamezip archivename filename と同じ名前のアーカイブを作成します。

zip コマンドの出力を抑制するには、 -q オプションを使用してください。 -r オプションはディレクトリ構造全体を再帰的にたどることを可能にします。

あるディレクトリの Zip アーカイブを作成する場合:

zip -r archivename.zip directory_name

また、同じアーカイブに複数のファイルやディレクトリを追加できます:

zip -r archivename.zip directory_name1 directory_name2 file1 file1

圧縮方法とレベル #

Zip のデフォルト圧縮方法は deflate です。 もし zip ユーティリティがファイルを圧縮できないと判断した場合、store 方式で圧縮することなく、単にアーカイブにファイルを格納します。

zip -r -Z bzip2 archivename.zip directory_name
...adding: sub_dir/ (stored 0%)adding: sub_dir/file1 (bzipped 52%)adding: sub_dir/file2 (bzipped 79%)

zip コマンドでは、0 から 9 までのダッシュを前にした数字で圧縮レベルを指定することができる。 デフォルトの圧縮レベルは-6です。 -0を使用した場合、すべてのファイルが圧縮されずに保存されます。 -9 は、zip コマンドがすべてのファイルに対して最適な圧縮を行うようにします。

例えば、圧縮レベル -9 を使用するには、以下のように入力します。

Creating a Password Protected ZIP file #

If you have sensitive information that needs to be stored in the archive you can encrypt it using the -e option:

zip -e archivename.zip directory_name

You will prompt to enter and verify the archive password.アーカイブパスワードの入力を要求されますので、パスワードを入力してください。

Enter password:Verify password:

Creating Split Zip File #

Zip アーカイブをファイル サイズ アップロード制限 1GB のファイル ホスティング サービスに保存し、Zip アーカイブが 5GB であると想像してください。

zip -s 1g -r archivename.zip directory_name

上記のコマンドは、指定されたサイズの制限に達した後もセットで新しいアーカイブを作成し続けます。

archivename.ziparchivename.z01archivename.z02archivename.z03archivename.z04

ZIP Examples #

現在のディレクトリのすべてのファイルを含む archivename.zip という Zip アーカイブを作成します。

zip archivename *

隠しファイル(ドットで始まるファイル)を含む上記と同じ:

zip archivename .* *

ファイルを圧縮せずに、現在のディレクトリの全ての MP3 ファイルを含む archivename.zip という名前の Zip アーカイブを作成します。

zip -0 archivename *.mp3

結論 #

Linux では、zip コマンドで Zip アーカイブを作成できます。

Linux システムで ZIP アーカイブを展開するには、unzip コマンドが使えます。

Zip についてもっと学びたい場合は、Zip Man ページを見てください。

admin

コメントを残す

メールアドレスが公開されることはありません。

lg