この記事では、さまざまな方法を使用してLinux®でファイルアーカイブを作成および抽出する方法について説明します。
このデジタル時代では、特にデータ配信のために、インターネットを介してデータを送信するのが一般的です。大量のデータを送信する必要がある場合は、一度にすべてを送信する必要があります。
したがって、1つのファイル内で複数のファイル、ドキュメント、または画像を送信する方法が必要です。それだけでなく、プロセスで帯域幅を占有することなく、データを効率的に配信する方法が必要です。そのため、データを送信する前にデータを圧縮する方法が生まれました。圧縮されたファイルは小さいため、これらの方法を使用すると、ファイルをより迅速に送信できます。サイズが小さいため、ハードドライブのスペースも節約できます。
データ圧縮とLinuxは確かに見知らぬ人ではありません。 .xyzに気づいたことがある場合 Linuxリポジトリからインストールしたパッケージの最後に、Linuxデータ圧縮の例があります。
利用可能なデータ圧縮の方法はいくつかありますが、Linuxで最も一般的な方法は次のとおりです。
- .zipファイル
- .tarファイル
- .tar.gzファイル
- .tar.bz2ファイル
zip
この特定の方法は、今日のファイルのアーカイブまたは圧縮に関して、おそらく最もよく知られており、最も一般的に使用されています。クロスプラットフォームでアクセスできるという事実は、この方法に他の方法よりも優れています。 Linux、Windows®、およびMacOS®はすべてデフォルトでzipファイルをサポートしているため、オペレーティングシステムに関係なくzipファイルにアクセスして開くことができます。
次の例は、zipを使用してファイルを圧縮するための基本的な構文を示しています。
$ zip -r <name of the zip file>.zip <directory or file(s) you want to compress>
ディレクトリを圧縮することもできます。次の例は、ファイル example.txtを使用してzipアーカイブを作成する方法を示しています。 写真というディレクトリを持つ別のzipアーカイブ :
$ zip examples.zip example.txt
$ zip -r pictures.zip /home/user/Pictures/
どちらのコマンドも、圧縮された .zipを作成します ファイル。 -r
オプションを使用すると、画像内にすべてのファイルとサブディレクトリを再帰的に含めることができます 圧縮ファイル内のディレクトリ。単一のファイルには再帰的な切り替えは必要ありませんが、ディレクトリには必要です。 -r
結果の.zipにそのディレクトリ内にあるすべてのものを含めるようにしてください ファイル。
アーカイブする予定のディレクトリ内の一部のファイルを除外できます。 画像を圧縮したいとします。 ディレクトリですが、.jpgファイルのみを含めます。
ディレクトリを写真に変更した後 、次のコマンドを入力します:
$ zip -r pictures.zip ‘*.jpg’
このコマンドは写真を検索します 、jpg以外のすべてのファイルを除外し、 .jpgのみを圧縮します ファイルをpictures.zipに 。この概念は、任意のファイル形式(.txt、.docなど)で機能します。
zipファイル( .zip )を受け取った場合 )、次のコマンドを使用して、Linuxでそのファイルを解凍します。
$ unzip pictures.zip
ファイルをPicturesディレクトリに解凍したいが、現在別のディレクトリにいる場合はどうなりますか?次のコマンドを使用します:
$ unzip pictures.zip -d /home/user/Pictures
-doptionを追加すると、zipファイルに含まれるすべてのファイルが選択したディレクトリに抽出されます。それ以外の場合は、unzip
デフォルトでは、ファイルを現在のディレクトリに抽出します。
tar
注: 他のアーカイブオプションとは異なり、tar
コマンドは.tarを圧縮しません ファイル。 tar
ファイルを単一のアーカイブファイルにバンドルするだけです。したがって、「。tar」だけで終わるファイルを目にした場合は、アーカイブプロセスがそのアーカイブに含まれるファイルに圧縮を適用していないことをすでに知っています。
tar
コマンドには、zipコマンドよりもいくつかのオプションがあります。 tarコマンドで最も一般的に使用されるオプションには、次のものがあります。
-
-c
:新しい .tarを作成します アーカイブファイル -
-v
:tarプロセスを詳細に表示するため、プロセスのすべてのステップを確認できます -
-f
:アーカイブファイルのファイル名タイプを指定します -
-x
:既存の .tarからファイルを抽出します ファイル
次の例は、tar
の基本的な構文を示しています。 アーカイブを作成するコマンド:
$ tar -cvf <name of archive file>.tar <directory to archive or files to archive>
次のコマンドを使用して、写真をアーカイブします ディレクトリ:
$ tar -cvf pictures.tar /home/user/Pictures
既存の.tarアーカイブファイルを抽出するには、-c
を置き換えます -x
を使用 、次の例に示すように:
$ tar -xvf <name of archive file>.tar
unzip
の場合と同様 コマンド、tar
.tarを抽出します デフォルトでは、コンテンツを現在の場所に移動します。 .tarを抽出するには ファイルの内容を別の場所で使用するには、次のコマンドを使用します。
$ tar -xvf (name of archive file).tar -C /path/to/desired/directory/location/
tar.gz
Tar.gz ファイルは、gzip
を使用して、tarコマンドのアーカイブ機能に圧縮を追加します 機能。
-z
のみを追加する必要があります 基本的なtar
のオプション 次の例に示すように、圧縮を追加するコマンド:
$ tar -zcvf <archive name>.tar.gz /directory/you/want/to/compress
OR
$ tar -zcvf <archive name>.tar.gz ‘*.jpg’
tar
と同様 、次の例に示すように、「-c」を使用してアーカイブを作成し、「-x」を使用してアーカイブを抽出します。
$ tar -zxvf <archive name>.tar.gz
OR
$ tar -zxvf <archive name>.tar.gz -C /path/to/desired/directory/
tar.bz2
可能な限り圧縮したい特大のディレクトリがあるとします。tar.gzでファイルのサイズが大きくなる場合は、代わりにtar.bz2を使用してみてください。このオプションには少し時間がかかることに注意してください。
このアーカイブ方法では、-j
という1つの新しいオプションのみが追加されます。 、次の例に示すように:
$ tar -jcvf <archive name>.tar.bz2 /directory/to/compress
OR
$ tar -jcvf <archive name>.tar.bz2 ‘*.jpg’
繰り返しますが、 .tar.bz2を抽出するには ファイル、-c
を切り替えます -x
の場合 、次の例に示すように:
$ tar -jxvf <archive name>.tar.bz2
OR
$ tar -jxvf <archive name>.tar.bz2 -C /directory/to/extract/to/
これで、利用可能な最も一般的なデータ圧縮ツールの使用方法を理解できました。それぞれのオプションにはその場所があります。
- 自分とは異なるオペレーティングシステムを使用している人に圧縮ファイルを送信する必要がありますか? zipを試してください。
- いくつかのファイルをアーカイブしますが、それらを圧縮する必要はありませんか? tarを使用します。
- 結局、ファイルを圧縮する必要があるかもしれません。 tar.gzを使用します。
- 最後に、そのディレクトリを可能な限り圧縮したい場合は、.tar.bz2を自由に使用できます。
経験を積むと、いつでもどのツールがニーズに最も適しているかを理解できます。