Linuxコマンドリファレンス

ファイルと圧縮と解凍

 Linuxにおいて、ファイルの圧縮と解凍は非常に重要な作業です。圧縮を利用することでディスク容量を節約できるだけでなく、ネットワーク越しの転送を高速化できます。逆に、受け取ったファイルを利用する際には解凍が必須です。Linuxには、gzip/gunzip、zip/unzip、tar といった複数の方式が標準的に用意されており、用途に応じて使い分けます。

 以下では代表的なコマンドを整理し、それぞれの役割を解説します。アーカイブと圧縮の違いを理解することがポイントです。

  • アーカイブ (tar): 複数ファイルをまとめて1つのファイルにする(圧縮は行わない)
  • 圧縮 (gzip, zip, bzip2, xz など): 単一またはまとめられたファイルを小さくする

ファイルの圧縮と解凍コマンド一覧

コマンド説明
gzip ファイル名指定したファイルを gzip 形式で圧縮する(拡張子 .gz が付く)。
gunzip 圧縮ファイル名.gz ファイルを解凍して元に戻す。
zip 圧縮ファイル名 ファイル名ファイルを zip 形式で圧縮する。
zip -r 圧縮ファイル名 ディレクトリ名ディレクトリ全体を zip 形式で圧縮する。
unzip 圧縮ファイル名zip 形式のファイルを解凍する。
tar cvf アーカイブファイル名 ディレクトリ名ディレクトリをアーカイブ(圧縮なし)する。
tar czvf アーカイブファイル名 ディレクトリ名ディレクトリをアーカイブし gzip 圧縮する。
tar cJvf アーカイブファイル名 ディレクトリ名ディレクトリをアーカイブし xz 圧縮する。
tar xvf アーカイブファイル名アーカイブを展開する。
tar xzvf アーカイブファイル名gzip 圧縮されたアーカイブを展開する。
tar xJvf アーカイブファイル名xz 圧縮されたアーカイブを展開する。
bzip2 ファイル名ファイルを bzip2 形式で圧縮する(拡張子 .bz2)。
bunzip2 圧縮ファイル名.bz2 ファイルを解凍する。
xz ファイル名ファイルを xz 形式で圧縮する(高圧縮率、拡張子 .xz)。
unxz 圧縮ファイル名.xz ファイルを解凍する。

よく使う tar オプションの意味

オプション説明
c新しいアーカイブを作成 (create)
xアーカイブを展開 (extract)
v詳細表示 (verbose)
fファイル名を指定 (file)
zgzip 圧縮を有効化
Jxz 圧縮を有効化
jbzip2 圧縮を有効化

実用例

1.ディレクトリ全体をまとめて gzip 圧縮

tar czvf backup.tar.gz /home/user/data

2.圧縮ファイルを展開

tar xzvf backup.tar.gz

3.複数ファイルを zip 圧縮

zip archive.zip file1.txt file2.txt

4.zip を展開

unzip archive.zip

まとめ

  • gzip/gunzip は単一ファイルの圧縮・解凍に便利。
  • zip/unzip は複数環境間のやり取り(特に Windows 互換性)に向いている。
  • tar は Linux/Unix 系で標準的に使われる方法で、アーカイブと圧縮を組み合わせて効率的に扱える。
  • bzip2, xz は高圧縮率が求められる場合に有効。

これらを状況に応じて使い分けることで、効率的なファイル管理が可能になります。