Linux

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

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

今回はLinuxでファイルを圧縮するコマンドのzip,gzip,bzip2の3つについて解説します。それぞれのコマンドはファイルを圧縮するコマンドです。それぞれのコマンドの特徴から圧縮する方法、解凍する方法を説明します。また、tarコマンドを使って圧縮する方法もあわせて解説します。

関連【おすすめ】コマンドを打ちながらLinuxが学べるサイトInfraAcademy

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

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

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

ファイルを圧縮するコマンドは以下の3つがあります。

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

zipコマンドとは?

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

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

gzipコマンドとは?

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

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

bzipコマンドとは?

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

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

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

zip,gzip,bzip2コマンドでファイルを圧縮する方法

zipコマンドの使い方

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

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

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

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

gzipコマンドの使い方

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

gzip ファイル名

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

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

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

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
大手メーカのIT部門→上場ベンチャーでフルスタックエンジニアやってます。エンジニア歴は8年目。 サーバ、ネットワーク、セキュリティ、クラウドについて投稿します。 AI、ARも勉強中です! youtubeでも技術ネタを発信していきます。↓のアイコンよりご覧ください!
RELATED POST