INDEX
gzipで圧縮
圧縮にはgzipコマンドを使用します。
gzipコマンドで圧縮すると、拡張しに.gzが付加されて圧縮されます。
#gzip file.txt 圧縮 #gunzip file.txt.gz 解凍
ディレクトリを指定して圧縮・解凍するには-rオプションを使用します。
dir
└a.txt
└b.txt
といった構成でファイルがある場合、
gzip -r dir コマンドでファイルを全て圧縮できます。
# gzip -r dir # ls -lat dir 合計 32 drwxr-xr-x 2 root root 4096 12月 25 07:34 . drwxr-xr-x 3 root root 4096 12月 25 07:33 .. -rw-r--r-- 1 root root 30 12月 25 07:08 b.txt.gz -rw-r--r-- 1 root root 31 12月 25 07:07 a.txt.gz
みての通り、拡張子にgzがつき圧縮されています。gzipコマンドでは、ファイルが個別に圧縮されるだけです。
1つのファイルとして圧縮することはできません。
gunzipで解凍
gzipと同様にディレクトリを指定する場合は-rを使用します。
# gunzip -r dir # ls -lat dir 合計 32 drwxr-xr-x 2 root root 4096 12月 25 07:37 . drwxr-xr-x 3 root root 4096 12月 25 07:33 .. -rw-r--r-- 1 root root 7 12月 25 07:08 b.txt -rw-r--r-- 1 root root 7 12月 25 07:07 a.txt
tarでアーカイブする
1つのファイルにする(アーカイブする)には別のtarコマンドを使用します。
tarのオプションは1つ目の文字が第1オプションで、その後に続く文字列は第2オプションになります。
アーカイブを作成
tar cf [アーカイブファイル名] [ディレクトリ・ファイル名]
とします。
c アーカイブを新規に作成する 。compressの略。
-f, –file ファイル・ディレクトリの指定
#tar cf dir.tar dir
gzipだとの違いは、dir.tar.gzという1つのファイルなので、cdコマンドで中は確認できません。
アーカイブを展開
tar xf [アーカイブファイル名]
とします。
x アーカイブから取り出す。extractの略。
-f, –file ファイル・ディレクトリの指定
#tar xf dir.tar
アーカイブはきえません。
アーカイブを確認する
cdでは入れないので確認にはtar tf [アーカイブファイル名]とします。
t アーカイブ内の一覧表示。恐らくtreeの略。
-f, –file ファイル・ディレクトリの指定
# tar tf dir.tar dir/ dir/b.txt dir/a.txt
アーカイブにファイルを追加
tar rvf [アーカイブファイル名] [追加ファイル名]
r アーカイブの最後に追加。recompress?適当
-f, –file ファイル名
dir.tar
└a.txt
└b.txt
というアーカイブに
dir.tar
└c.txt
を追加する場合
# tar rf dir.tar dir/c.txt # tar tf dir.tar dir/ dir/b.txt dir/a.txt dir/c.txt
注意しなくてはいけないのは、
dir.tar
└a.txt
└b.txt
というアーカイブに
c.txt
を追加すると
# tar rf dir.tar c.txt # tar tf dir.tar dir/ dir/b.txt dir/a.txt c.txt
となることです。
アーカイブに入る階層が変わってきてしまいます。
アーカイブから特定のファイルを抜き出す
tar xf [アーカイブファイル名] [取り出したいファイル名(アーカイブ内のパス)]
#tar xf dir.tar dir/a.txt
ファイルを抜き出してもアーカイブから消えません。
アーカイブと圧縮
第2オプションにzをつけるとgzipを通して処理され圧縮もされます。
第2vオプションもつけて、処理したファイルの一覧も表示できます。
-z, –gzip, –ungzip gzipを通して処理する
-v, –verbose 処理したファイルの一覧を詳細に表示する
# tar cvzf dir.tar dir dir/ dir/b.txt dir/a.txt dir/c.txt # ls -lat 合計 32 drwxr-xr-x 3 root root 4096 12月 25 08:03 . -rw-r--r-- 1 root root <strong>244</strong> 12月 25 08:03 dir.tar drwxr-xr-x 2 root root 4096 / 12月 25 07:59 dir drwxr-x--- 16 root root 4096 12月 25 07:07 ..
gzはついていませんが、圧縮されているのがわかります。
わかりやすいように、dir.tar.gzというアーカイブ名にしてもいいかもしれません。