目次:
zip
コマンド- UbuntuおよびDebianにZipをインストールする
- CentOSおよびFedoraにZipをインストールします
- ファイルとディレクトリを圧縮する方法
- 圧縮方法とレベル
- パスワードで保護されたZIPファイルの作成
- 分割Zipファイルの作成
- ZIPの例
- 結論
Zipは、ロスレスデータ圧縮をサポートする最も広く使用されているアーカイブファイル形式です。
Zipファイルは、1つ以上の圧縮ファイルまたはディレクトリを含むデータコンテナーです。 圧縮された(zip形式の)ファイルは、圧縮されていないファイルよりも短時間で1台のマシンから別のマシンに転送できるディスク容量が少なくて済みます。 Zipファイルは、すべてのオペレーティングシステムで使用可能なユーティリティを使用して、Windows、macOS、およびLinuxで簡単に抽出できます。
このチュートリアルでは、
zip
コマンドを使用してLinuxでファイルとディレクトリを圧縮(圧縮)する方法を示します。
zip
コマンド
zip
は、Zipアーカイブの作成に役立つコマンドラインユーティリティです。
zipコマンドの構文は次のとおりです。
zip OPTIONS ARCHIVE_NAME FILES
特定のディレクトリにZipアーカイブを作成するには、ユーザーはそのディレクトリに対する書き込み権限を持っている必要があります。
Zipファイルは、Linuxスタイルの所有権情報をサポートしていません。 抽出されたファイルは、コマンドを実行するユーザーが所有します。
ファイルの所有権とアクセス権を保持するには、
tar
コマンドを使用します。
ほとんどのLinuxディストリビューションでは、
zip
ユーティリティはデフォルトではインストールされませんが、ディストリビューションのパッケージマネージャーを使用して簡単にインストールできます。
UbuntuおよびDebianにZipをインストールする
CentOSおよびFedoraにZipをインストールします
ファイルとディレクトリを圧縮する方法
1つ以上のファイルを圧縮するには、以下に示すように、スペースで区切ってアーカイブに追加するファイルを指定します。
zip archivename.zip filename1 filename2 filename3
adding: filename1 (deflated 63%) adding: filename2 (stored 0%) adding: filename3 (deflated 38%)
デフォルトでは、
zip
コマンドはアーカイブに追加されたファイルの名前と圧縮方法を出力します。 圧縮方法とレベルについては、このガイドの後半で説明します。
.zip
拡張子を省略した場合、Zipアーカイブ名を指定すると、アーカイブ名にドットが含まれていない限り自動的に追加されます。
zip archivename.zip filename
は、
zip archivename.zip filename
と同じ名前のアーカイブを作成し
zip archivename filename
。
zip
コマンドの出力を抑制するには、
-q
オプションを使用します。
zip -q archivename.zip filename1 filename2 filename3
多くの場合、サブディレクトリのコンテンツを含むディレクトリのZipアーカイブを作成します。
-r
オプションを使用すると、ディレクトリ構造全体を再帰的に走査できます。
ディレクトリのZipアーカイブを作成するには、次を使用します。
zip -r archivename.zip directory_name
同じアーカイブに複数のファイルとディレクトリを追加することもできます。
zip -r archivename.zip directory_name1 directory_name2 file1 file1
圧縮方法とレベル
Zipのデフォルトの圧縮方式はdeflateです。 zipユーティリティがファイルを圧縮できないと判断した場合、 storeメソッドを使用して圧縮せずに、アーカイブにファイルを保存するだけです。 ほとんどのLinuxディストリビューションでは、zipユーティリティはbzip2圧縮方式もサポートしています。
圧縮方法を指定するには、
-Z
オプションを使用します。
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
を使用するには、次のように入力します。
zip -9 -r archivename.zip directory_name
圧縮レベルが高いほど、zipプロセスのCPU負荷が高くなり、完了までに時間がかかります。
パスワードで保護されたZIPファイルの作成
zip -e archivename.zip directory_name
アーカイブパスワードの入力と確認を求められます。
Enter password: Verify password:
分割Zipファイルの作成
ファイルサイズのアップロード制限が1 GBで、Zipアーカイブが5 GBのファイルホスティングサービスにZipアーカイブを保存するとします。
-s
オプションとそれに続く指定サイズを使用して、新しい分割Zipファイルを作成できます。 乗数は、k(キロバイト)、m(メガバイト)、g(ギガバイト)、またはt(テラバイト)です。
zip -s 1g -r archivename.zip directory_name
上記のコマンドは、指定されたサイズ制限に達した後、新しいアーカイブをセットで作成し続けます。
archivename.zip archivename.z01 archivename.z02 archivename.z03 archivename.z04
ZIPの例
現在のディレクトリ内のすべてのファイルを含むarchivename.zipという名前のZipアーカイブを作成します。
zip archivename *
隠しファイル(ドットで始まるファイル)を含む上記と同じ:
zip archivename.* *
ファイルを圧縮せずに、現在のディレクトリにすべてのMP3ファイルを含む
archivename.zip
という名前のZipアーカイブを作成します。
結論
Linuxでは、
zip
コマンドを使用してZipアーカイブを作成できます。
LinuxシステムでZIPアーカイブを抽出するには、unzipコマンドを使用できます。
zipターミナル