アンドロイド

Linuxでファイルとディレクトリを圧縮する方法

目次:

Anonim

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をインストールする

sudo apt install zip

CentOSおよびFedoraにZipをインストールします

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アーカイブ名を指定すると、アーカイブ名にドットが含まれていない限り自動的に追加されます。 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アーカイブを作成します。

zip -0 archivename *.mp3

結論

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

LinuxシステムでZIPアーカイブを抽出するには、unzipコマンドを使用できます。

zipターミナル