圧縮解凍コマンド
gzでの圧縮 | tar zcvf sample.tar.gz target_dir |
gzでの圧縮(ディレクトリ変更) | tar zcvf sample.tar.gz -C target_dir . |
gzでの解凍 | tar zxvf sample.tar.gz |
ディレクトリを変更下の圧縮の解説
ディレクトリごと 圧縮すると解凍時に ディレクトリ構成も残ります。
それを回避する場合は、-C オプションを使う。
例えば、こんな構成だった場合
./csv ./csv/2.csv ./csv/1.csv
こうする
tar zcvf csv.tar.gz -C csv 1.csv 2.csv
これでも同じ結果
tar zcvf csv.tar.gz -C csv .
ファイル名を「.」にすると、対象ディレクトリの中の全てのファイルが対象になる。
特定のファイルのみを tar で圧縮する
- ついでに、archiveフォルダに入れる
sample1
find csv -name "*.csv" -printf "%f " |\ xargs tar --remove-files -zcvf csv/arch/csv.tar.gz -C csv
sample1では --remove-files で圧縮前のファイルを消している
また、findのprintf %f で出力をファイル名のみにしている。
sample2
files=`find csv -name "*.csv" -printf "%f "` tar zcvf csv/arch/csv.tar.gz -C csv ${files}