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

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

前のガイドでは、tarコマンドを使用してファイルとディレクトリをアーカイブする方法を学びました。 Linuxでは。これからも同じことを行いますが、 Zipを使用します 解凍 プログラム。 zipアプリケーションは、アーカイバーと圧縮ユーティリティの両方であるため、LinuxおよびUnixライクなオペレーティングシステムでファイルとディレクトリをアーカイブ、圧縮、および解凍するために使用できます。このzipアプリケーションは、Windowsおよびその他のOSzipアプリケーションと互換性があります。ただし、gzipとbzip2 主な圧縮アプリケーションです。次に、 Zipを使用してLinuxでファイルとディレクトリをアーカイブする方法を見てみましょう。 プログラム。

Zipプログラムを使用したLinuxでのファイルとディレクトリのアーカイブ

Zipプログラムには、一部のLinuxディストリビューションがプリインストールされています。利用できない場合に備えて、ディストリビューションのデフォルトのパッケージマネージャーを使用してインストールできます。

Arch Linuxおよびバリアントの場合:

$ sudo pacman -S zip unzip

RHEL、CentOS、Fedoraの場合:

$ sudo yum install zip unzip

Debian、Ubuntu、Linux Mintの場合:

$ sudo apt-get install zip unzip

SUSE / openSUSEの場合:

$ sudo zypper install zip unzip

次に、いくつかの例を見てみましょう。

新しいアーカイブの作成

ファイルのグループを1つにアーカイブするには、次のようにします。

$ zip file.zip file1 file2 file3

サンプル出力は次のようになります:

adding: file1 (stored 0%)
adding: file2 (stored 0%)
adding: file3 (stored 0%)

ここでは、 file.zipという名前のアーカイブを作成しています file1から 、 file2 およびfile3 .zipを使用する必要はありません ファイル名の末尾の拡張子。わかりやすくするために追加しました。

同様に、ディレクトリのアーカイブを作成するには、次のコマンドを実行します。

$ zip directory.zip ostechnix/
 adding: ostechnix/ (stored 0%)

ここでは、 directory.zipという名前のアーカイブを作成しました ostechnixの フォルダ。これは、親ディレクトリ(つまり)のみをアーカイブに追加することに注意してください。すべてのサブディレクトリを再帰的にアーカイブするには、 -rを使用します 以下のようなフラグ。

$ zip -r directory.zip ostechnix/
 adding: ostechnix/ (stored 0%)
 adding: ostechnix/file.txt (deflated 67%)
 adding: ostechnix/audio.mp3 (deflated 6%)
 adding: ostechnix/image.jpg (deflated 3%)

tarユーティリティとは異なり、zipプログラムはアーカイブを作成し、可能な場合はそれを圧縮します。ただし、tarはアーカイバであり、圧縮ツールではありません。

一度に複数のディレクトリやファイルのアーカイブを作成する

場合によっては、ファイルとフォルダのグループからアーカイブを作成する必要があります。これを行うには、次を実行します:

$ zip -r directory.zip ostechnix/ file1 file2 file3
 adding: example/ (stored 0%)
 adding: example/Stephen.jpg (deflated 3%)
 adding: file1 (stored 0%)
 adding: file2 (stored 0%)
 adding: file3 (stored 0%)

上記のコマンドは、 directory.zipという名前のアーカイブを作成します ostechnixから ディレクトリとファイルのグループ、つまり file2 file2 file3

別の例を示しましょう。

$ zip directory.zip file4
 adding: file4 (stored 0%)

気づきましたか?既存のアーカイブを指定しましたが、zipプログラムが既存のアーカイブファイルの内容を置き換えずに更新しました。したがって、既存のアーカイブを指定した場合、アーカイブは置き換えられるのではなく更新されます。簡単に言うと、既存のアーカイブが保持され、新しいfile4が追加されます。これは、tarユーティリティに対するzipプログラムの顕著な利点です。

アーカイブの抽出

アーカイブの抽出は、アーカイブの作成と同じくらい簡単です。アーカイブを抽出するには、次のようにします。

$ unzip directory.zip

サンプル出力は次のようになります:

 Archive: directory.zip
 creating: ostechnix/
 inflating: ostechnix/file.txt 
 inflating: ostechnix/audio.mp3 
 inflating: ostechnix/image.jpg 
 extracting: file1 
 extracting: file2 
 extracting: file3 
 extracting: file4

ディレクトリから特定のファイルまたはフォルダを選択的に抽出することもできます。たとえば、次のコマンドは file4を抽出します アーカイブからdirectory.zip

$ unzip directory.zip file4
 Archive: directory.zip
 extracting: file4

アーカイブを抽出せずに一覧表示する

実際に解凍せずにアーカイブの内容を一覧表示するには、 -lを使用します フラグ。

$ unzip -l directory.zip
 Archive: directory.zip
 Length Date Time Name
--------- ---------- ----- ----
 0 2018-03-29 15:55 ostechnix/
 1286 2018-01-11 12:16 ostechnix/file.txt
 8073033 2018-03-29 14:03 ostechnix/audio.mp3
 15240 2018-03-29 14:45 ostechnix/image.jpg
 5 2018-03-29 15:58 file1
 5 2018-03-29 15:58 file2
 5 2018-03-29 15:58 file3
 5 2018-03-29 16:37 file4
--------- -------
 8089579 8 files

これは、アーカイブ全体を抽出するのではなく、特定のファイルを検索して抽出する場合に役立ちます。

暗号化されたアーカイブの作成

zipコマンドのもう1つの注目すべき機能は、暗号化されたアーカイブを作成できることです。そのため、ユーザーはアーカイブの内容を抽出または表示するためにパスワードを入力する必要があります。

暗号化されたアーカイブを作成するには、 -eを使用します フラグ。

$ zip -e -r directory.zip ostechnix/ file1 file2 file3 file4
Enter password: 
Verify password: 
 adding: ostechnix/ (stored 0%)
 adding: ostechnix/file.txt (deflated 67%)
 adding: ostechnix/audio.mp3 (deflated 6%)
 adding: ostechnix/image.jpg (deflated 3%)
 adding: file1 (stored 0%)
 adding: file2 (stored 0%)
 adding: file3 (stored 0%)
 adding: file4 (stored 0%

アーカイブの内容を抽出または表示するときは、正しいパスワードを入力する必要があります。

$ unzip directory.zip 
Archive: directory.zip
[directory.zip] ostechnix/file.txt password:

マルチパートアーカイブを作成する

場合によっては、インターネット経由でアーカイブファイルを共有する必要があり、そのアーカイブファイル自体が大きすぎてインターネットやLAN経由で送信できないことがあります。このような場合、マルチパーの小さなサイズのアーカイブを作成して、インターネット経由で送信できます。

ディレクトリを複数の小さな部分にアーカイブするには、たとえば 3 MB それぞれ、私たちは行います:

$ zip -r -s 3m archive.zip ostechnix/

このコマンドは、 archive.z01のようなサイズ3MBのアーカイブファイルを作成します 、 archive.z02 archive.z03 ....およびarchive.zip 。これらのファイルを受信者に送信する必要があります。これらのアーカイブファイルを抽出する場合、すべてのコンテンツは ostechnixという名前の単一のフォルダーに抽出されます。 。

アーカイブをGB単位で分割するには、次のように「g」を使用します。

$ zip -r -s 3g archive.zip ostechnix/

他のプログラムのアーカイブを作成する

Zipは標準入力を受け入れることができるので、他のプログラムのアーカイブを作成することが可能です。次のコマンドは、「ls」コマンドの出力をzipコマンドへの入力としてパイプします。

$ ls -l Documents/ | zip ls-documents.zip -
 adding: - (deflated 56%)

ここで覚えておいてくださいls-documents.zip 「ls」コマンドのアーカイブです。したがって、 -lを使用してアーカイブの内容を表示することはありません スイッチ。

代わりに、コマンドを使用してその内容を表示できます:

$ unzip -p ls-documents.zip | less

ここで、 -p パイプを指します。

圧縮率でアーカイブを圧縮する

最高レベルの圧縮[9]でディレクトリとそのコンテンツをアーカイブするには:

$ zip -r -9 archive.zip ostechnix/

Zipは、以下に示す3つの圧縮レベルをサポートしています。

  • 1 –最速(最悪)
  • 9 –最も遅い(最高または最高)
  • 6 –デフォルトレベル

アーカイブの作成中にファイルまたはフォルダを除外する

アーカイブの作成中に、不要なファイルやサブディレクトリを除外できます。これを行うには、 -xを使用します 以下のようなフラグ:

$ zip -r directory.zip ostechnix/ -x ostechnix/image.jpg

上記のコマンドはostechnixディレクトリのアーカイブを作成しますが、 image.jpgを除外します アーカイブからのファイル。

次のコマンドを使用すると、アーカイブファイルを抽出せずに内容を確認できます。

$ unzip -l directory.zip

既存のアーカイブからファイルを削除する

アーカイブを作成するときに、不要なものを除外するのを忘れている可能性があります。心配ない!アーカイブを作成した後でも、これらのファイルを削除できます。

既存のアーカイブから不要なファイルを削除するには、 -dを使用します 以下に示すようにフラグを立てます。

$ zip -d directory.zip "ostechnix/file.txt"
deleting: ostechnix/file.txt

同様に、同じタイプのファイルのグループを削除するには、たとえば .txt filesuse:

$ zip -d directory.zip "ostechnix/*.txt"

そして、今のところこれですべてです。 zip/unzipコマンドの表面をかじっただけです。これらのプログラムを使用すると、さらに多くのことができます。詳細については、manページを参照してください。

$ man zip
$ man unzip

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

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

  3. Linuxでファイルをアーカイブおよび圧縮する方法

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

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

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

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

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

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