【アーカイブと圧縮ファイルの作成】
このHPはアーカイブと圧縮ファイルの作成についてまとめたものです。
1-1 アーカイブの作成
複数のファイルやディレクトリをまとめたファイルのことを「アーカイブ(書庫)」と呼び、アーカイブファイルを作成することを「アーカイブする」という。
また、この時にアーカイブファイルのサイズを小さくすることができれば、ファイルを転送・保存するときのデータ量を抑えることができる。
データ量の内容を壊すことなくファイルサイズを小さくすることができ、これは「圧縮」と呼ばれる。

1-2 tarコマンド
tarはアーカイブファイルを扱うためのコマンド。複数のファイルやディレクトリを1つのアーカイブファイルにまとめたり、逆にアーカイブファイルから元のファイルを取り出すために利用する。
デフォルトのtarコマンドはファイルを圧縮しないが、zオプションをつけるとgzipを使った圧縮/展開を、jオプションをつけると、bzip2を使った圧縮/展開をサポートする。
tarコマンドのオプションでは「-」を省略することができる。
<<書式>> tar 〔オプション〕 ファイル名

■コマンド例:1
次の例では、lpic-lev1、lpic-lev2、lpic-lev3の3つのファイルを「lpic.tar」という名前でアーカイブを作成している。
# ls -l
-rw-rw-r-- 1 root root 2621 1月 10 08:25 lpic-lev1
-rw-rw-r-- 1 root root 821 1月 10 08:25 lpic-lev2
-rw-rw-r-- 1 root root 352 1月 10 08:25 lpic-lev3
#tar cvf lpic.tar lpic-lev1 lpic-lev2 lpic-lev3←3つのファイルのアーカイブの作成
# ls -l
-rw-rw-r-- 1root root 10240 1月 23 19:02 lpic-lev1
-rw-rw-r-- 1root root 2621 1月 21 18:37 lpic-lev2
-rw-rw-r-- 1root root 61 1月 21 18:37 lpic-lev3
-rw-r--r-- 1 root root 20480 1月 24 20:03 lpic.tar ←アーカイブファイルが出来ている
■コマンド例:2
次の例では、/libのアーカイブを、SCSI接続テープドライブ(/dev/st0)に作成している。
# tar cvf /dev/st0 /lib
◆アーカイブファイルの内容確認
作成したアーカイブファイルの内容を確認するには「t」オプションを利用する。
<<書式>> tar tf 【アーカイブファイル】
次の例では、■コマンド例:1で作成したアーカイブファイル「lpic.tar」の内容を確認している。
# tar tf lpic.tar
lpic-lev1
lpic-lev2
lpic-lev3
◆アーカイブファイルの展開
アーカイブファイルを展開して元のファイルやディレクトリを取り出すには、「x」オプションを利用する。
<<書式>> tar xf 【アーカイブファイル】
次の例では、■コマンド例:1で作成したアーカイブファイル「lpic.tar」を展開している。
#ls -l
-rw-r--r-- 1 root root 10240 1月 24 20:03 lpic.tar
#tar xf lpic.tar←アーカイブファイルを展開する
# ls -l
-rw-rw-r-- 1 root root 2621 1月 10 08:25 lpic-lev1 ←展開されている
-rw-rw-r-- 1 root root 821 1月 10 08:25 lpic-lev2 ←展開されている
-rw-rw-r-- 1 root root 352 1月 10 08:25 lpic-lev3←展開されている
-rw-r--r-- 1 root root 10240 1月 10 10:38 lpic.tar
1-3 ファイル属性の保持
tarコマンドはファイルをコピーするだけでなく、ファイルのパーミッションやオーナー、タイムスタンプ等のファイル属性もそのままアーカイブする。
ただし、一般ユーザーでtarコマンドを実行する場合には、一部のファイル属性が維持できない場合がある。
そのため、完全なバックアップを取得するならば、root権限でtarコマンドを実行することが必要になる。
2-1 gzipコマンド
gzipはファイルの圧縮・展開を行うためのコマンド。gzipで圧縮したファイルには「.gz」という拡張子をつける。
<<書式>> gzip 〔オプション〕 対象ファイル名

次の例では、ファイル「lpic」を圧縮している。
gzipコマンドは、圧縮前のファイルの前に、拡張子「.gz」を付け加えて文字列を新しい圧縮ファイルに対して自動的に付ける。それに伴い、圧縮前のファイルを自動的に削除する。
■コマンド例:1
#ls -l
-rw-rw-r-- 1 root root 330 1月 20 20:48 ccna
-rw-rw-r-- 1 root root 56701月 20 20:51lpic ←圧縮前の「lpic」が存在
-rw-rw-r-- 1 root root 207 1月 20 20:49 oracle-master
# gzip lpic ←圧縮を実行
# ls -l
-rw-rw-r-- 1 root root 330 1月 20 20:48 ccna
-rw-rw-r-- 1 root root 1342 1月 20 20:51lpic.gz ←圧縮ファイル「lpic.gz」が作成され、「lpic」は削除されている。
-rw-rw-r-- 1 root root 207 1月 20 20:49 oracle-master
◆圧縮ファイルの展開
圧縮したファイルを展開してもとに戻すには「-d」オプションを適用する。
圧縮の場合と同様、処理の過程で圧縮ファイルは自動的に削除される。
なお、「-d」オプションを使用する代わりに、「gunzip」コマンドを使ってもファイルを展開できる。
<<書式>> gzip -d 対象展開ファイル名
#ls -l
-rw-rw-r-- 1 root root 330 1月 20 20:48 ccna
-rw-rw-r-- 1 root root 1342 1月 20 20:51lpic.gz
-rw-rw-r-- 1 root root 207 1月 20 20:49 oracle-master
#gzip -d lpic.gz ←圧縮ファイル「lpic.gz」を展開
# ls -l
-rw-rw-r-- 1 root root 330 1月 20 20:48 ccna
-rw-rw-r-- 1 root root 5670 1月 20 20:51lpic ←圧縮前のファイル「lpic」が作成され、圧縮ファイル「lpic.gz」は削除された
-rw-rw-r-- 1 root root 207 1月 20 20:49 oracle-master
2-2 tarからgzipを使用する
gzipコマンドは、単一のファイルに対して圧縮及び展開を行う。言い換えれば、複数のファイルをまとめて取り扱う機能はもっておらず、アーカイブ(書庫)は取り扱えない。
そこで現在のLinuxのtarコマンドでは、tarの実行結果をgzipに渡す機能が用意された。これを指定すれば、tarコマンドだけで、gzip形式での圧縮と展開が行える。
tarコマンドでgzip圧縮するには、cオプションと、zオプションを指定する。また拡張子として「.tar.gz」や「.tgz」という拡張子が使われる。
■コマンド例:1
# ls -l
-rw-rw-r-- 1 root root 17431月 21 18:36lpic-lev1 ←lpic-lev1,lpic-lev2,lpic-lev3の3つのファイルをアーカイブし圧縮する
-rw-rw-r-- 1 root root 26211月 21 18:37lpic-lev2
-rw-rw-r-- 1 root root 611月 21 18:37lpic-lev3
# tar czf lpic.tar.gz lpic-lev1 lpic-lev2 lpic-lev3 ←圧縮アーカイブの作成
# ls -l
-rw-rw-r-- 1 root 1743 1月 21 18:36 lpic-lev1
-rw-rw-r-- 1 root 2621 1月 21 18:37 lpic-lev2
-rw-rw-r-- 1 root 61 1月 21 18:37 lpic-lev3
-rw-r--r-- 1 root 7191月 21 18:40lpic.tar.gz ←圧縮アーカイブが作成されている
また、「.tar.gz」や「.tgz」ファイルを直接展開するには、「x」オプションと「z」オプションを合わせて指定する。
■コマンド例:2
# ls -l
-rw-r--r-- 1 root root 719 1月 21 18:40 lpic.tar.gz
# tar xzf lpic.tar.gz ←tarコマンドでta.gz形式のファイルを展開
# ls -l
-rw-rw-r-- 1 root root 1743 1月 21 18:36lpic-lev1←展開されている
-rw-rw-r-- 1 root root 2621 1月 21 18:37lpic-lev2←展開されている
-rw-rw-r-- 1 root root 61 1月 21 18:37lpic-lev3←展開されている
-rw-r--r-- 1 root root 719 1月 21 18:40 lpic.tar.gz
3-1 bzip2コマンド
bzip2形式の圧縮は、gzip形式と比較して一般に圧縮率が高くなる。その反面、処理には多くの演算を要し、
圧縮にかかる時間も少々長くなる。
【bzip2によるファイルの圧縮】
<<書式>>
bzip2 <オプション> <圧縮対象のファイル名>

次の例では、ファイル「lpic-lev1」を圧縮している。
また、gzipコマンドと同様に、新しい圧縮ファイルの名前は圧縮前のファイル名に、拡張子として「.bz2」を加えたものとなり、圧縮前の元のファイルを削除する。
■コマンド例:1
# ls -l
-rw-rw-r-- 1 root root 1743 1月 21 18:36lpic-lev1 ←圧縮前の「lpic-lev1」ファイルが存在
-rw-rw-r-- 1 root root 2621 1月 21 18:37 lpic-lev2
-rw-rw-r-- 1 root root 61 1月 21 18:37 lpic-lev3
# bzip2 lpic-lev1 ←圧縮を実行
# ls -l
-rw-rw-r-- 1 root root 510 1月 21 18:36lpic-lev1.bz2 ←圧縮ファイル「lpic-lev1.bz2」ファイルが作成され、「lpic-lev1」ファイルは削除
-rw-rw-r-- 1 root root 2621 1月 21 18:37 lpic-lev2
-rw-rw-r-- 1 root root 61 1月 21 18:37 lpic-lev3
◆圧縮ファイルの展開
圧縮したファイルを展開してもとに戻すには、gzipと同様「-d」オプションを適用する。
圧縮の場合と同様、処理の過程で圧縮ファイルは自動的に削除される。
なお、「-d」オプションを使用する代わりに、「bunzip2」コマンドを使ってもファイルを展開できる。
<<書式>> bzip2 -d 対象圧縮ファイル名
■コマンド例:2
# ls -l
-rw-rw-r-- 1 root root 510 1月 21 18:36lpic-lev1.bz2 ←圧縮ファイル
-rw-rw-r-- 1 root root 2621 1月 21 18:37 lpic-lev2
-rw-rw-r-- 1 root root 61 1月 21 18:37 lpic-lev3
# bzip2 -d lpic-lev1.bz2 ←圧縮ファイルを展開
# ls -l
-rw-rw-r-- 1 root root 17431月 21 18:36lpic-lev1 ←圧縮前のファイル「lpic-lev1」が作成され、「lpic-lev1.bz2」は削除
-rw-rw-r-- 1 root root 2621 1月 21 18:37 lpic-lev2
-rw-rw-r-- 1 root root 61 1月 21 18:37 lpic-lev3
3-2 tarからbzip2を使用する
tarコマンドには、bzip2形式でファイル圧縮する機能もある。
tarでbzip2形式を利用するには「j」オプションを利用する。
また、圧縮ファイルは拡張子が「.tar.bz2」または「.tbz」になる。
■コマンド例:3
# ls -l
-rw-rw-r-- 1 root root 17431月 21 18:36lpic-lev1 ←lpic-lev1,lpic-lev2,lpic-lev3の3つのファイルをアーカイブし圧縮する
-rw-rw-r-- 1 root root 26211月 21 18:37lpic-lev2
-rw-rw-r-- 1 root root 611月 21 18:37lpic-lev3
#tar cjf lpic.tar.bz2 lpic-lev1 lpic-lev2 lpic-lev3 ←圧縮アーカイブの作成
# ls -l
-rw-rw-r-- 1 root root 1743 1月 21 18:36 lpic-lev1
-rw-rw-r-- 1 root root 2621 1月 21 18:37 lpic-lev2
-rw-rw-r-- 1 root root 61 1月 21 18:37 lpic-lev3
-rw-r--r-- 1 root root 821 1月 23 17:28 lpic.tar.bz2 ←圧縮アーカイブが作成されている
また、「.tar.bz2」ファイルを展開するには、jオプションを付けてtarコマンドを実行する。
■コマンド例:4
# ls -l
-rw-r--r-- 1 root root 821 1月 23 17:28 lpic.tar.bz2
#tar jxf lpic.tar.bz2 ←tarコマンドで「tar.bz2」形式のファイルを展開
# ls -l
-rw-rw-r-- 1 root root 17431月 21 18:36lpic-lev1 ←展開されている
-rw-rw-r-- 1 root root 26211月 21 18:37lpic-lev2 ←展開されている
-rw-rw-r-- 1 root root 611月 21 18:37lpic-lev3 ←展開されている
-rw-r--r-- 1 root root 821 1月 23 17:28 lpic.tar.bz2
4-1 xzコマンド
bzip2よりもさらに圧縮効率の高いのが「xz」コマンドを使った圧縮。
xzコマンドにより圧縮・展開が行える。
<<書式>> xz 〔オプション〕 〔ファイル名〕

■コマンド例:1
以下の例では、ファイル「lpic-lev1」を圧縮する。拡張子は「.xz」。元ファイルは削除される。
# ls -l
-rw-r--r--. 1 root root115662 Mar 21 00:28lpic-lev1 ←圧縮前の「lpic-lev1」が存在
-rw-r--r--. 1 root root 115875 Mar 21 00:30 lpic-lev2
-rw-r--r--. 1 root root 115834 Mar 21 00:30 lpic-lev3
# xz lpic-lev1 ←圧縮を実行
# ls -l
-rw-r--r--. 1 root root 13068Mar 21 00:28 lpic-lev1.xz ←圧縮ファイル「lpic-lev1.xz」ファイルが作成され、「lpic-lev1」ファイルは削除
-rw-r--r--. 1 root root 115875 Mar 21 00:30 lpic-lev2
-rw-r--r--. 1 root root 115834 Mar 21 00:30 lpic-lev3
◆圧縮ファイルの展開
圧縮したファイルを展開してもとに戻すには、「-d」オプションを適用する。
圧縮の場合と同様、処理の過程で圧縮ファイルは自動的に削除される。
なお、「-d」オプションを使用する代わりに、「unxz」コマンドを使ってもファイルを展開できる。
<<書式>> xz -d 対象圧縮ファイル名
# ls -l
-rw-r--r--. 1 root root 13068 Mar 21 00:28 lpic-lev1.xz
-rw-r--r--. 1 root root 115875 Mar 21 00:30 lpic-lev2
-rw-r--r--. 1 root root 115834 Mar 21 00:30 lpic-lev3
# xz -d lpic-lev1.xz ←圧縮ファイル「lpic-lev1.xz」を展開
# ls -l
-rw-r--r--. 1 root root 115662Mar 21 00:28 lpic-lev1 ←圧縮前のファイル「lpic-lev1」ファイルが作成され、「lpic-lev1.xz」ファイルは削除
-rw-r--r--. 1 root root 115875 Mar 21 00:30 lpic-lev2
-rw-r--r--. 1 root root 115834 Mar 21 00:30 lpic-lev3
このHPはアーカイブと圧縮ファイルの作成についてまとめたものです。
1-1 アーカイブの作成
複数のファイルやディレクトリをまとめたファイルのことを「アーカイブ(書庫)」と呼び、アーカイブファイルを作成することを「アーカイブする」という。
また、この時にアーカイブファイルのサイズを小さくすることができれば、ファイルを転送・保存するときのデータ量を抑えることができる。
データ量の内容を壊すことなくファイルサイズを小さくすることができ、これは「圧縮」と呼ばれる。

1-2 tarコマンド
tarはアーカイブファイルを扱うためのコマンド。複数のファイルやディレクトリを1つのアーカイブファイルにまとめたり、逆にアーカイブファイルから元のファイルを取り出すために利用する。
デフォルトのtarコマンドはファイルを圧縮しないが、zオプションをつけるとgzipを使った圧縮/展開を、jオプションをつけると、bzip2を使った圧縮/展開をサポートする。
tarコマンドのオプションでは「-」を省略することができる。
<<書式>> tar 〔オプション〕 ファイル名

■コマンド例:1
次の例では、lpic-lev1、lpic-lev2、lpic-lev3の3つのファイルを「lpic.tar」という名前でアーカイブを作成している。
# ls -l
-rw-rw-r-- 1 root root 2621 1月 10 08:25 lpic-lev1
-rw-rw-r-- 1 root root 821 1月 10 08:25 lpic-lev2
-rw-rw-r-- 1 root root 352 1月 10 08:25 lpic-lev3
#tar cvf lpic.tar lpic-lev1 lpic-lev2 lpic-lev3←3つのファイルのアーカイブの作成
# ls -l
-rw-rw-r-- 1root root 10240 1月 23 19:02 lpic-lev1
-rw-rw-r-- 1root root 2621 1月 21 18:37 lpic-lev2
-rw-rw-r-- 1root root 61 1月 21 18:37 lpic-lev3
-rw-r--r-- 1 root root 20480 1月 24 20:03 lpic.tar ←アーカイブファイルが出来ている
■コマンド例:2
次の例では、/libのアーカイブを、SCSI接続テープドライブ(/dev/st0)に作成している。
# tar cvf /dev/st0 /lib
◆アーカイブファイルの内容確認
作成したアーカイブファイルの内容を確認するには「t」オプションを利用する。
<<書式>> tar tf 【アーカイブファイル】
次の例では、■コマンド例:1で作成したアーカイブファイル「lpic.tar」の内容を確認している。
# tar tf lpic.tar
lpic-lev1
lpic-lev2
lpic-lev3
◆アーカイブファイルの展開
アーカイブファイルを展開して元のファイルやディレクトリを取り出すには、「x」オプションを利用する。
<<書式>> tar xf 【アーカイブファイル】
次の例では、■コマンド例:1で作成したアーカイブファイル「lpic.tar」を展開している。
#ls -l
-rw-r--r-- 1 root root 10240 1月 24 20:03 lpic.tar
#tar xf lpic.tar←アーカイブファイルを展開する
# ls -l
-rw-rw-r-- 1 root root 2621 1月 10 08:25 lpic-lev1 ←展開されている
-rw-rw-r-- 1 root root 821 1月 10 08:25 lpic-lev2 ←展開されている
-rw-rw-r-- 1 root root 352 1月 10 08:25 lpic-lev3←展開されている
-rw-r--r-- 1 root root 10240 1月 10 10:38 lpic.tar
1-3 ファイル属性の保持
tarコマンドはファイルをコピーするだけでなく、ファイルのパーミッションやオーナー、タイムスタンプ等のファイル属性もそのままアーカイブする。
ただし、一般ユーザーでtarコマンドを実行する場合には、一部のファイル属性が維持できない場合がある。
そのため、完全なバックアップを取得するならば、root権限でtarコマンドを実行することが必要になる。
2-1 gzipコマンド
gzipはファイルの圧縮・展開を行うためのコマンド。gzipで圧縮したファイルには「.gz」という拡張子をつける。
<<書式>> gzip 〔オプション〕 対象ファイル名

次の例では、ファイル「lpic」を圧縮している。
gzipコマンドは、圧縮前のファイルの前に、拡張子「.gz」を付け加えて文字列を新しい圧縮ファイルに対して自動的に付ける。それに伴い、圧縮前のファイルを自動的に削除する。
■コマンド例:1
#ls -l
-rw-rw-r-- 1 root root 330 1月 20 20:48 ccna
-rw-rw-r-- 1 root root 56701月 20 20:51lpic ←圧縮前の「lpic」が存在
-rw-rw-r-- 1 root root 207 1月 20 20:49 oracle-master
# gzip lpic ←圧縮を実行
# ls -l
-rw-rw-r-- 1 root root 330 1月 20 20:48 ccna
-rw-rw-r-- 1 root root 1342 1月 20 20:51lpic.gz ←圧縮ファイル「lpic.gz」が作成され、「lpic」は削除されている。
-rw-rw-r-- 1 root root 207 1月 20 20:49 oracle-master
◆圧縮ファイルの展開
圧縮したファイルを展開してもとに戻すには「-d」オプションを適用する。
圧縮の場合と同様、処理の過程で圧縮ファイルは自動的に削除される。
なお、「-d」オプションを使用する代わりに、「gunzip」コマンドを使ってもファイルを展開できる。
<<書式>> gzip -d 対象展開ファイル名
#ls -l
-rw-rw-r-- 1 root root 330 1月 20 20:48 ccna
-rw-rw-r-- 1 root root 1342 1月 20 20:51lpic.gz
-rw-rw-r-- 1 root root 207 1月 20 20:49 oracle-master
#gzip -d lpic.gz ←圧縮ファイル「lpic.gz」を展開
# ls -l
-rw-rw-r-- 1 root root 330 1月 20 20:48 ccna
-rw-rw-r-- 1 root root 5670 1月 20 20:51lpic ←圧縮前のファイル「lpic」が作成され、圧縮ファイル「lpic.gz」は削除された
-rw-rw-r-- 1 root root 207 1月 20 20:49 oracle-master
2-2 tarからgzipを使用する
gzipコマンドは、単一のファイルに対して圧縮及び展開を行う。言い換えれば、複数のファイルをまとめて取り扱う機能はもっておらず、アーカイブ(書庫)は取り扱えない。
そこで現在のLinuxのtarコマンドでは、tarの実行結果をgzipに渡す機能が用意された。これを指定すれば、tarコマンドだけで、gzip形式での圧縮と展開が行える。
tarコマンドでgzip圧縮するには、cオプションと、zオプションを指定する。また拡張子として「.tar.gz」や「.tgz」という拡張子が使われる。
■コマンド例:1
# ls -l
-rw-rw-r-- 1 root root 17431月 21 18:36lpic-lev1 ←lpic-lev1,lpic-lev2,lpic-lev3の3つのファイルをアーカイブし圧縮する
-rw-rw-r-- 1 root root 26211月 21 18:37lpic-lev2
-rw-rw-r-- 1 root root 611月 21 18:37lpic-lev3
# tar czf lpic.tar.gz lpic-lev1 lpic-lev2 lpic-lev3 ←圧縮アーカイブの作成
# ls -l
-rw-rw-r-- 1 root 1743 1月 21 18:36 lpic-lev1
-rw-rw-r-- 1 root 2621 1月 21 18:37 lpic-lev2
-rw-rw-r-- 1 root 61 1月 21 18:37 lpic-lev3
-rw-r--r-- 1 root 7191月 21 18:40lpic.tar.gz ←圧縮アーカイブが作成されている
また、「.tar.gz」や「.tgz」ファイルを直接展開するには、「x」オプションと「z」オプションを合わせて指定する。
■コマンド例:2
# ls -l
-rw-r--r-- 1 root root 719 1月 21 18:40 lpic.tar.gz
# tar xzf lpic.tar.gz ←tarコマンドでta.gz形式のファイルを展開
# ls -l
-rw-rw-r-- 1 root root 1743 1月 21 18:36lpic-lev1←展開されている
-rw-rw-r-- 1 root root 2621 1月 21 18:37lpic-lev2←展開されている
-rw-rw-r-- 1 root root 61 1月 21 18:37lpic-lev3←展開されている
-rw-r--r-- 1 root root 719 1月 21 18:40 lpic.tar.gz
3-1 bzip2コマンド
bzip2形式の圧縮は、gzip形式と比較して一般に圧縮率が高くなる。その反面、処理には多くの演算を要し、
圧縮にかかる時間も少々長くなる。
【bzip2によるファイルの圧縮】
<<書式>>
bzip2 <オプション> <圧縮対象のファイル名>

次の例では、ファイル「lpic-lev1」を圧縮している。
また、gzipコマンドと同様に、新しい圧縮ファイルの名前は圧縮前のファイル名に、拡張子として「.bz2」を加えたものとなり、圧縮前の元のファイルを削除する。
■コマンド例:1
# ls -l
-rw-rw-r-- 1 root root 1743 1月 21 18:36lpic-lev1 ←圧縮前の「lpic-lev1」ファイルが存在
-rw-rw-r-- 1 root root 2621 1月 21 18:37 lpic-lev2
-rw-rw-r-- 1 root root 61 1月 21 18:37 lpic-lev3
# bzip2 lpic-lev1 ←圧縮を実行
# ls -l
-rw-rw-r-- 1 root root 510 1月 21 18:36lpic-lev1.bz2 ←圧縮ファイル「lpic-lev1.bz2」ファイルが作成され、「lpic-lev1」ファイルは削除
-rw-rw-r-- 1 root root 2621 1月 21 18:37 lpic-lev2
-rw-rw-r-- 1 root root 61 1月 21 18:37 lpic-lev3
◆圧縮ファイルの展開
圧縮したファイルを展開してもとに戻すには、gzipと同様「-d」オプションを適用する。
圧縮の場合と同様、処理の過程で圧縮ファイルは自動的に削除される。
なお、「-d」オプションを使用する代わりに、「bunzip2」コマンドを使ってもファイルを展開できる。
<<書式>> bzip2 -d 対象圧縮ファイル名
■コマンド例:2
# ls -l
-rw-rw-r-- 1 root root 510 1月 21 18:36lpic-lev1.bz2 ←圧縮ファイル
-rw-rw-r-- 1 root root 2621 1月 21 18:37 lpic-lev2
-rw-rw-r-- 1 root root 61 1月 21 18:37 lpic-lev3
# bzip2 -d lpic-lev1.bz2 ←圧縮ファイルを展開
# ls -l
-rw-rw-r-- 1 root root 17431月 21 18:36lpic-lev1 ←圧縮前のファイル「lpic-lev1」が作成され、「lpic-lev1.bz2」は削除
-rw-rw-r-- 1 root root 2621 1月 21 18:37 lpic-lev2
-rw-rw-r-- 1 root root 61 1月 21 18:37 lpic-lev3
3-2 tarからbzip2を使用する
tarコマンドには、bzip2形式でファイル圧縮する機能もある。
tarでbzip2形式を利用するには「j」オプションを利用する。
また、圧縮ファイルは拡張子が「.tar.bz2」または「.tbz」になる。
■コマンド例:3
# ls -l
-rw-rw-r-- 1 root root 17431月 21 18:36lpic-lev1 ←lpic-lev1,lpic-lev2,lpic-lev3の3つのファイルをアーカイブし圧縮する
-rw-rw-r-- 1 root root 26211月 21 18:37lpic-lev2
-rw-rw-r-- 1 root root 611月 21 18:37lpic-lev3
#tar cjf lpic.tar.bz2 lpic-lev1 lpic-lev2 lpic-lev3 ←圧縮アーカイブの作成
# ls -l
-rw-rw-r-- 1 root root 1743 1月 21 18:36 lpic-lev1
-rw-rw-r-- 1 root root 2621 1月 21 18:37 lpic-lev2
-rw-rw-r-- 1 root root 61 1月 21 18:37 lpic-lev3
-rw-r--r-- 1 root root 821 1月 23 17:28 lpic.tar.bz2 ←圧縮アーカイブが作成されている
また、「.tar.bz2」ファイルを展開するには、jオプションを付けてtarコマンドを実行する。
■コマンド例:4
# ls -l
-rw-r--r-- 1 root root 821 1月 23 17:28 lpic.tar.bz2
#tar jxf lpic.tar.bz2 ←tarコマンドで「tar.bz2」形式のファイルを展開
# ls -l
-rw-rw-r-- 1 root root 17431月 21 18:36lpic-lev1 ←展開されている
-rw-rw-r-- 1 root root 26211月 21 18:37lpic-lev2 ←展開されている
-rw-rw-r-- 1 root root 611月 21 18:37lpic-lev3 ←展開されている
-rw-r--r-- 1 root root 821 1月 23 17:28 lpic.tar.bz2
4-1 xzコマンド
bzip2よりもさらに圧縮効率の高いのが「xz」コマンドを使った圧縮。
xzコマンドにより圧縮・展開が行える。
<<書式>> xz 〔オプション〕 〔ファイル名〕

■コマンド例:1
以下の例では、ファイル「lpic-lev1」を圧縮する。拡張子は「.xz」。元ファイルは削除される。
# ls -l
-rw-r--r--. 1 root root115662 Mar 21 00:28lpic-lev1 ←圧縮前の「lpic-lev1」が存在
-rw-r--r--. 1 root root 115875 Mar 21 00:30 lpic-lev2
-rw-r--r--. 1 root root 115834 Mar 21 00:30 lpic-lev3
# xz lpic-lev1 ←圧縮を実行
# ls -l
-rw-r--r--. 1 root root 13068Mar 21 00:28 lpic-lev1.xz ←圧縮ファイル「lpic-lev1.xz」ファイルが作成され、「lpic-lev1」ファイルは削除
-rw-r--r--. 1 root root 115875 Mar 21 00:30 lpic-lev2
-rw-r--r--. 1 root root 115834 Mar 21 00:30 lpic-lev3
◆圧縮ファイルの展開
圧縮したファイルを展開してもとに戻すには、「-d」オプションを適用する。
圧縮の場合と同様、処理の過程で圧縮ファイルは自動的に削除される。
なお、「-d」オプションを使用する代わりに、「unxz」コマンドを使ってもファイルを展開できる。
<<書式>> xz -d 対象圧縮ファイル名
# ls -l
-rw-r--r--. 1 root root 13068 Mar 21 00:28 lpic-lev1.xz
-rw-r--r--. 1 root root 115875 Mar 21 00:30 lpic-lev2
-rw-r--r--. 1 root root 115834 Mar 21 00:30 lpic-lev3
# xz -d lpic-lev1.xz ←圧縮ファイル「lpic-lev1.xz」を展開
# ls -l
-rw-r--r--. 1 root root 115662Mar 21 00:28 lpic-lev1 ←圧縮前のファイル「lpic-lev1」ファイルが作成され、「lpic-lev1.xz」ファイルは削除
-rw-r--r--. 1 root root 115875 Mar 21 00:30 lpic-lev2
-rw-r--r--. 1 root root 115834 Mar 21 00:30 lpic-lev3