tarコマンドでgzip圧縮するにはzcvf
オプションを用います。
さらに圧縮率の高いbzip2はjcvf
オプション、xzはJcvf
オプションを指定します。
解凍して展開する場合は、xvf
オプションを指定します。
それぞれv
オプションは該当ファイル・ディレクトリ名の表示に使用し、指定は任意です。
gzip圧縮する(tar.gz)
# ファイルを圧縮
tar -zcvf archive.tar.gz sample_file1
# ディレクトリを圧縮
tar -zcvf archive.tar.gz sample_dir1
# 複数ファイル・ディレクトを圧縮
tar -zcvf arcehive.tar.gz sample_file1 sample_file2 sample_dir1
# vの指定は任意(対象ファイルを出力したい場合に指定)
# archive.tar.gz:圧縮後ファイル名(tar.gz)
# sample_file1,2:圧縮対象ファイル名
# sample_dir1:圧縮対象ディレクトリ名
bzip2圧縮する(tar.bz2)
gzipより強力な圧縮を実施します。
tar -jcvf archive.tar.bz2 sample.1G.dummy
圧縮する(tar.xz)
gzipより強力な圧縮を実施します。
tar -Jcvf archive.tar.xz sample.1G.dummy
各圧縮率の比較
以下の通り、1Gのダミーファイルでそれぞれ圧縮率を確認しました。
# ダミーファイル作成
$ dd if=/dev/zero of=sample.1G.dummy bs=1M count=1000
# 圧縮
$ tar -zcvf archive.tar.gz sample.1G.dummy
$ tar -jcvf archive.tar.bz2 sample.1G.dummy
$ tar -Jcvf archive.tar.xz sample.1G.dummy
# 圧縮率比較
$ ls -l
total 1025156
-rw-r--r-- 1 root root 841 Jun 7 12:25 archive.tar.bz2
-rw-r--r-- 1 root root 1017728 Jun 7 12:25 archive.tar.gz
-rw-r--r-- 1 root root 152716 Jun 7 12:31 archive.tar.xz
-rw-r--r-- 1 root root 1048576000 Jun 7 12:24 sample.1G.dummy
今回はbzip2が最も圧縮されましたが、 圧縮するファイルによって結果は異なると思われます。
解凍する
# ファイルを解凍
tar -xvf archive.tar.gz
# vの指定は任意(対象ファイルを出力したい場合に指定)
# archive.tar.gz:解凍対象ファイル名(tar.gz)
オプションの意味
オプション | 意味 |
---|---|
z | gzip圧縮 |
j | bzip2圧縮 |
J | xz圧縮 |
c | アーカイブを作成 |
x | アーカイブを展開(解凍) |
v | 対象のディレクトリ・ファイル名を出力 |
f | アーカイブファイル名を指定 |
余談
オプションのハイフンはあってもなくてもよい。
tarファイルの中身をしたい場合はこちらのリンク を参照してください。
以上です。
よいITライフを。