Zipは、ロスレスデータ圧縮をサポートする最も広く使用されているアーカイブファイル形式です。
Zipファイルは、1つ以上の圧縮ファイルまたはディレクトリを含むデータコンテナです。圧縮された(zip形式の)ファイルは、使用するディスク容量が少なく、圧縮されていないファイルよりも高速に1台のマシンから別のマシンに転送できます。 Zipファイルは、すべてのオペレーティングシステムで利用可能なユーティリティを使用して、Windows、macOS、およびLinuxで簡単に抽出できます。
このチュートリアルでは、zip
を使用してLinuxでファイルとディレクトリを圧縮(圧縮)する方法を説明します。 コマンド。
zip
コマンド#
zip
は、Zipアーカイブの作成に役立つコマンドラインユーティリティです。
zip
コマンドは次の構文形式を取ります:
zip OPTIONS ARCHIVE_NAME FILES
特定のディレクトリにZipアーカイブを作成するには、ユーザーはそのディレクトリへの書き込み権限を持っている必要があります。
ZipファイルはLinuxスタイルの所有権情報をサポートしていません。抽出されたファイルは、コマンドを実行するユーザーが所有します。ファイルの所有権と権限を保持するには、tar
を使用します コマンド。
zip
ユーティリティはほとんどのLinuxディストリビューションにデフォルトでインストールされていませんが、ディストリビューションパッケージマネージャーを使用して簡単にインストールできます。
zip
をインストールします UbuntuとDebianで#
sudo apt install zip
zip
をインストールします CentOSとFedoraで#
sudo yum install zip
1つ以上のファイルを圧縮するには、以下に示すように、アーカイブに追加するファイルをスペースで区切って指定します。
zip archivename.zip filename1 filename2 filename3
adding: filename1 (deflated 63%)
adding: filename2 (stored 0%)
adding: filename3 (deflated 38%)
デフォルトでは、zip
コマンドは、アーカイブに追加されたファイルの名前と圧縮方法を出力します。圧縮方法とレベルについては、このガイドの後半で説明します。
アーカイブ名が.zip
で終わっていない場合 、アーカイブ名にドットが含まれていない限り、拡張子は自動的に追加されます。 zip archivename.zip filename
zip archivename filename
と同じ名前のアーカイブを作成します 。
zip
の出力を抑制するため コマンド、-q
を使用します オプション:
zip -q archivename.zip filename1 filename2 filename3
多くの場合、サブディレクトリのコンテンツを含むディレクトリのzipアーカイブを作成します。 -r
オプションを使用すると、ディレクトリ構造全体を再帰的にトラバースできます。
zip -r archivename.zip directory_name
同じアーカイブに複数のファイルとディレクトリを追加することもできます:
zip -r archivename.zip directory_name1 directory_name2 file1 file1
圧縮方法とレベル#
Zipのデフォルトの圧縮方法はdeflateです 。 zip
の場合 ユーティリティは、ファイルを圧縮できないと判断し、ストアを使用してファイルを圧縮せずに、ファイルをアーカイブに保存するだけです。 方法。ほとんどの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ファイルの作成#
アーカイブに保存する必要のある機密情報がある場合は、-e
を使用して暗号化できます。 オプション:
zip -e archivename.zip directory_name
コマンドは、アーカイブパスワードを入力して確認するように求められます:
Enter password:
Verify password:
ファイルサイズのアップロード制限が1GBで、Zipアーカイブが5GBのファイルホスティングサービスに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 .* *
archivename.zip
という名前のZipアーカイブを作成します ファイルを圧縮せずに、現在のディレクトリ内のすべてのMP3ファイルを含みます。
zip -0 archivename *.mp3
結論#
Linuxでは、zip
を使用してZipアーカイブを作成できます。 コマンド。
LinuxシステムでZIPアーカイブを抽出するには、unzipコマンドを使用できます。
zip
について詳しく知りたい場合 コマンドを実行するには、Zipのマンページにアクセスしてください。
ご質問やご意見がございましたら、お気軽にコメントをお寄せください。