GNU/Linux >> Linux の 問題 >  >> Linux

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

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
ファイルとディレクトリを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:
分割Zipファイルの作成#

ファイルサイズのアップロード制限が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のマンページにアクセスしてください。

ご質問やご意見がございましたら、お気軽にコメントをお寄せください。


Linux
  1. Linuxでファイルとディレクトリをアーカイブする方法[パート2]

  2. Linuxでファイルとディレクトリをアーカイブする方法[パート1]

  3. Linuxで複数のファイルを圧縮する方法

  1. Linuxでファイルとディレクトリを圧縮する方法(例付き)

  2. Linuxでファイルを圧縮および解凍する方法を学び、Zipマスターになる

  3. Linux ファイルとディレクトリの削除

  1. Linuxでファイルとディレクトリをコピーする方法

  2. Linuxでファイルを解凍する方法

  3. Linux で空のディレクトリとファイルを見つけて削除する方法