Linuxのファイル圧縮・解凍:gzip、bzip2、xzとtar

  • URLをコピーしました!

Linuxでファイルを効率的に管理するには、アーカイブと圧縮が欠かせません。
この記事では、gzipbzip2xzコマンドの違いや用途、
さらにtarコマンドとの連携について詳しく解説します。

それぞれの圧縮ツールの特徴を理解し、適切な場面で使い分けることで、
ディスクスペースを節約しながらファイルを整理できます。

目次

gzip:高速で使いやすい圧縮ツール

gzipは、ファイルを圧縮し、.gzという拡張子を持つ圧縮ファイルを生成します。
圧縮速度が速く、ファイルサイズの削減効果が高いため、システム管理の場面で頻繁に使用されます。

基本構文

gzip [オプション] [ファイル名]

使用例

gzip example.txt

このコマンドで、example.txtexample.txt.gzに圧縮されます。

gzipのオプション

  • -d: 圧縮ファイルを解凍する。bashコードをコピーするgzip -d example.txt.gz
  • -k: 圧縮後も元のファイルを保持する。bashコードをコピーするgzip -k example.txt
  • -r: ディレクトリ全体を再帰的に圧縮。bashコードをコピーするgzip -r /path/to/directory

解凍方法

gzipで圧縮されたファイルは、gzip -dまたはgunzipで解凍できます。

gunzip example.txt.gz

bzip2:より高い圧縮率を提供

bzip2は、gzipよりも高い圧縮率を提供する圧縮ツールで、拡張子は.bz2です。
圧縮には時間がかかりますが、結果としてより小さいファイルを生成します。

基本構文

bzip2 [オプション] [ファイル名]

使用例

bzip2 example.txt

このコマンドで、example.txtexample.txt.bz2に圧縮されます。

bzip2のオプション

  • -d: 圧縮ファイルを解凍する。bashコードをコピーするbzip2 -d example.txt.bz2
  • -k: 元のファイルを保持する。bashコードをコピーするbzip2 -k example.txt
  • -v: 圧縮または解凍の進行状況を表示。bashコードをコピーするbzip2 -v example.txt

解凍方法

bzip2で圧縮されたファイルは、bzip2 -dまたはbunzip2で解凍します。

bunzip2 example.txt.bz2

xz:最高の圧縮率を持つツール

xzは、さらに高い圧縮率を提供するツールで、拡張子は.xzです。
大容量のファイルを圧縮する際に効果的であり、特にバックアップや長期間保存するデータに適しています。

基本構文

xz [オプション] [ファイル名]

使用例

xz example.txt

このコマンドで、example.txtexample.txt.xzに圧縮されます。

xzのオプション

  • -d: 圧縮ファイルを解凍する。bashコードをコピーするxz -d example.txt.xz
  • -k: 元のファイルを保持する。bashコードをコピーするxz -k example.txt
  • -v: 圧縮または解凍の進行状況を表示。bashコードをコピーするxz -v example.txt

解凍方法

xzで圧縮されたファイルは、xz -dまたはunxzで解凍できます。

unxz example.txt.xz

tarコマンドと圧縮ツールの連携

tarは、複数のファイルやディレクトリを一つのアーカイブにまとめるためのコマンドです。
単独では圧縮機能はありませんが、gzipbzip2xzと組み合わせることで圧縮アーカイブを作成できます。

基本構文

tar [オプション] [アーカイブ名.tar.gz] [ファイルやディレクトリ]

gzipとtarの連携

tar -czvf archive.tar.gz /path/to/files

このコマンドで、/path/to/filesの内容をarchive.tar.gzとして圧縮アーカイブします。
各オプションの意味は以下の通りです。

  • -c: アーカイブの作成
  • -x:圧縮ファイルの解凍
  • -z: gzipで圧縮
  • -v: 実行過程を表示
  • -f: アーカイブファイル名を指定

bzip2とtarの連携

tar -cjvf archive.tar.bz2 /path/to/files

bzip2を使って圧縮アーカイブを作成します。
-zの代わりに-jを使用する点に注意してください。

xzとtarの連携

tar -cJvf archive.tar.xz /path/to/files

xzを使って圧縮アーカイブを作成します。
-z-jの代わりに、-Jを使います。

-zはgzipで圧縮、-jはbzip2、-Jはxzとなっています。

解凍方法

作成したアーカイブを解凍するには、以下のようにします。

gzip圧縮アーカイブを解凍

tar -xzvf archive.tar.gz

bzip2圧縮アーカイブを解凍

tar -xjvf archive.tar.bz2

xz圧縮アーカイブを解凍

tar -xJvf archive.tar.xz

まとめ

Linuxでのファイル圧縮・解凍には、用途に応じたさまざまなツールが用意されています。
gzipは高速で一般的に使われ、bzip2は高い圧縮率を提供し、xzは大容量ファイルに適しています。
これらのツールとtarを組み合わせることで、効果的なファイル管理が可能です。

    目次