【Linux】
ファイルの圧縮・解凍(展開)を行う方法

tarコマンドとgzip・bzip2・xzコマンドとgunzip・bunzip2・unxzコマンド

投稿日 2022/07/05 更新日 2022/07/05


こんにちは。当サイトの管理者「元木皇天」です。

今回はLinuxコマンドを使用してファイルを圧縮・展開(解凍)する方法について解説いたします。

環境
OS:Kali Linux Ver5.15

圧縮する方法

Linuxでファイルを圧縮するコマンドはたくさんあります。

今回はその中でもよく使うtarコマンドとそれに関連するコマンドを紹介したいと思います。

tarコマンドは、普通に使用すると特に圧縮をせず複数のファイルをアーカイブファイルとして1つのファイルにまとめるだけですが、オプションを指定することで、圧縮をすることができます

tarコマンドで圧縮する形式は3つあります。

・gzip
・bzip2
・xz

この3つの違いは圧縮率が異なると言う点です(以下画像参照)。

gzip, bzip2, xzの違い

tarコマンドでそれぞれの形式で圧縮をするには以下のオプションを使用します。

オプション説明
-cアーカイブを作成する
-fアーカイブファイル名を指定する
-zgzip形式で圧縮・展開(解凍)する
-jbzip2形式で圧縮・展開(解凍)する
-Jxz形式で圧縮・展開(解凍)する
-v処理の詳細情報を表示する

実際にtarコマンドを使用して圧縮する例は以下の通りです(以下の例ではカレントディレクトリを圧縮しています)。

#gzip形式で圧縮する
tar zcvf sample.tar.gz .

#bzip2形式で圧縮する
tar jcvf sample.tar.bz2 .

#xz形式で圧縮する
tar Jcvf sample.tar.xz .

tarコマンドでは「-(ハイフン)」をつけずにオプションを指定するのが一般的です。

また、gzip・bzip2・xz形式の圧縮専用のコマンドもあります。

以下はそれぞれ専用の圧縮コマンドを使用して圧縮を行う例です(以下の例ではカレントディレクトリのsample.txtを圧縮しています)。

#gzip形式で圧縮する
gzip sample.txt

#bzip2形式で圧縮する
bzip2 sample.txt

#xz形式で圧縮する
xz sample.txt

なお、tarコマンドはディレクトリを圧縮できますが、各圧縮コマンドではファイル単体でしか圧縮できません。

展開(解凍)する方法

Linuxでファイルを展開(解凍)するコマンドも圧縮同様tarコマンドで実行できます。

tarコマンドで展開するには「x」オプションを使用します。


実際にtarコマンドを使用して展開(解凍)する例は以下の通りです(以下の例ではカレントディレクトリの圧縮ファイル名sampleを展開しています)。

#gzip形式ファイルを展開(解凍)する
tar zxfv sample.tar.gz

#bzip2形式ファイルを展開(解凍)する
tar jxfv sample.tar.bz2

#xz形式ファイルを展開(解凍)する
tar Jxfv sample.tar.xz

また、gzip・bzip2・xz形式の専用の展開(解凍)コマンドもあります。

以下はそれぞれ専用の展開(解凍)コマンドを使用して展開を行う例です(以下の例ではカレントディレクトリの圧縮ファイル名sampleを展開しています)。

#gzip形式ファイルを展開(解凍)する
gunzip sample.tar.gz

#bzip2形式ファイルを展開(解凍)する
bunzip2 sample.tar.bz2

#xz形式ファイルを展開(解凍)する
unxz sample.tar.xz

まとめ

Linuxコマンドで圧縮を行う場合は
tarコマンド
gzipコマンド
bzip2コマンド
xzコマンド


Linuxコマンドで展開(解凍)を行う場合は
tarコマンド
gunzipコマンド
bunzip2コマンド
unxzコマンド

を使用します。