Linux

【Linux】ファイルを圧縮するコマンドzip,gzip,bzip2について解説

こんにちは、フルスタックエンジニアのryuです。

Linuxでファイルを圧縮したり、解凍する際に使用するコマンドは、主に「zip」「gzip」「bzip2」、そして「tar」です。それぞれのコマンドは少しずつ特徴が異なります。

ここでは、それぞれのコマンドの特徴や使い方を具体的に解説し、実際のコマンド例も紹介しますので、初心者の方でもわかりやすく解説します!

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

【Linux】ファイルを圧縮するコマンドzip,gzip,bzip2について解説

Linuxでよく使われる圧縮コマンドには次のような特徴があります

特徴アルゴリズム(圧縮方式)圧縮率圧縮速度解凍速度拡張子
zipDeflate標準一般的に高速一般的に高速.zip
gzipDEFLATE一般的に高速一般的に高速.gz
bzip2Burrows-Wheeler変換とRun-Length Encoding、Huffman符号化を使用非常に高比較的遅い比較的遅い.bz2

圧縮方式(アルゴリズム)とは、データのサイズを小さくするための技術や手法のことです。ファイルの内容を効率よく表現し直すことで、元のデータと同じ情報を、より少ないデータ量で表現します。

これにより、ディスク容量を節約できるだけでなく、ファイルの転送速度を向上させることが可能になります。

zipコマンド

zipコマンドとは?

ZIP圧縮は、Deflateと呼ばれるアルゴリズムを使用しています。このアルゴリズムはLempel-ZivとHuffman符号化を組み合わせてデータを圧縮します。

標準的なWindowsアーカイブフォーマットであり、Windowsや他のプラットフォームでもサポートされています。複数のファイルやディレクトリを1つのZIPファイルにまとめることも可能です。

zipコマンドの使い方

zipコマンドでファイルを圧縮する場合は、以下のように実行します。

zip -r 圧縮ファイル名.zip 圧縮したいファイル1 ファイル2 ...

また、解凍する場合は以下のように実行します。

unzip 圧縮ファイル名.zip -d 解凍先ディレクトリ

gzipコマンド

gzipコマンドとは?

gzip圧縮は、DEFLATEアルゴリズムを使用しています。DEFLATEはLempel-Ziv77圧縮とハフマン符号化の組み合わせです。

高い圧縮率を持ち、ファイルサイズを小さくするのに効果的です。単一のファイルを圧縮するためのツールとして主に使用されます。

gzipコマンドの使い方

gzipコマンドは以下のように実行します。

gzip ファイル名

圧縮すると、元のファイルは削除され、.gzという拡張子が付加された圧縮ファイルが作成されます。

解凍する場合は、以下のように実行します。

gzip -d 圧縮ファイル名.gz
もしくは
gunzip 圧縮ファイル名.gz

bzipコマンド

bzipコマンドとは?

bzip2圧縮は、Burrows-Wheeler変換とRun-Length Encoding、Huffman符号化を使用しています。これにより、gzipよりもさらに高い圧縮率が得られることがありますが、同時に圧縮および解凍に時間がかかる場合があります。

高い圧縮率を提供し、一部の場合ではgzipよりも効果的です。単一のファイルを圧縮するためのツールとして使用されます。

次に、3つのコマンドの使い方を解説します。

bzip2コマンドの使い方

bzip2コマンドの使い方は以下の通りです。圧縮したいファイル名を指定します。

bzip2 圧縮したいファイル名

圧縮すると、元のファイルは削除され、.bz2という拡張子が付加された圧縮ファイルが作成されます。

bzip2 -d 圧縮ファイル名.bz2
もしくは
bunzip2 圧縮ファイル名.bz2

tarコマンドを使ってファイルを圧縮する方法

tarコマンドは、ファイルをアーカイブするコマンドです。アーカイブと同時にgzipやbzipで圧縮することも可能です。

gzipで圧縮

tarコマンドを使ってgzipで圧縮する場合は、以下のように実行します。

tar -czvf 圧縮ファイル名.tar.gz 圧縮したいファイル1 ファイル2 ...

gzipで圧縮した場合は、tar.gzという拡張子になります。

bzip2で圧縮

tarコマンドを使ってbzip2で圧縮する場合は、以下のように実行します。

tar -cjvf 圧縮ファイル名.tar.bz2 圧縮したいファイル1 ファイル2 ...

bzip2で圧縮した場合は、tar.bz2という拡張子になります。

tarコマンドについては、こちらの記事で詳しく解説しております。

関連:【Linux】tarコマンドの使い方は?ファイルのアーカイブと展開するコマンド

まとめ

Linux でファイルを圧縮する方法には、さまざまなコマンドがあります。それぞれのコマンドを使いこなすことで、データを効率よく管理できるようになります。

まずは、簡単なファイルから試してみて、自分に合ったコマンドを見つけてみましょう!

さらにLinuxのコマンドの学習をしたい人に向けて、InfraAcademyというインフラ学習サービスのご紹介です。

「Linuxの実践的な内容を学習したい」、「コマンドを打ちながらLinuxを学習したい」

そのようなご要望にお応えして、Linuxやネットワークが学習できるサイト「InfraAcademy」をリリースしました!

InfraAcademyの特徴は以下の通り。

  • Linuxやネットワークの知識が体系的に学べる
  • LINEやZoomでエンジニアに質問可能
  • 全ての講座が閲覧できて、2,480円
  • 購入から1週間以内であれば全額返金

Linuxの参考書を購入すると、3,000円以上するものもあります。InfraAcademyでは、2,480円でコンテンツ見放題で現役エンジニアに質問できるサービスまで付いています。

また、購入から1週間以内であれば全額返金保証もあるので安心です。

InfraAcademyでは、一部のコンテンツは無料で閲覧できるので、興味のある方はお試しください。

InfraAcademyでLinuxの学習を始める

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
大手企業→上場ベンチャー→スタートアップでエンジニアをしていました。 インフラエンジニア歴10年以上。 Linuxやネットワークの学習ができるサービスInfraAcademyを運営中。
RELATED POST