こんにちは、フルスタックエンジニアのryuです。
Linuxでファイルを圧縮したり、解凍する際に使用するコマンドは、主に「zip」「gzip」「bzip2」、そして「tar」です。それぞれのコマンドは少しずつ特徴が異なります。
ここでは、それぞれのコマンドの特徴や使い方を具体的に解説し、実際のコマンド例も紹介しますので、初心者の方でもわかりやすく解説します!
目次
【Linux】ファイルを圧縮するコマンドzip,gzip,bzip2について解説
Linuxでよく使われる圧縮コマンドには次のような特徴があります
特徴 | アルゴリズム(圧縮方式) | 圧縮率 | 圧縮速度 | 解凍速度 | 拡張子 |
---|---|---|---|---|---|
zip | Deflate | 標準 | 一般的に高速 | 一般的に高速 | .zip |
gzip | DEFLATE | 高 | 一般的に高速 | 一般的に高速 | .gz |
bzip2 | Burrows-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では、一部のコンテンツは無料で閲覧できるので、興味のある方はお試しください。