tar
アーカイブファイルとしてまとめるコマンド。
単体では圧縮しないため、オプションでzやjを指定する必要がある。
以下コマンドはmacOS High Sierraで確認しました。
zipコマンドでの圧縮方法はこちら
書式
tar [オプション] アーカイブ
tar.gzの圧縮と解凍
オプションのcとxが異なる。
圧縮
$ tar -zcvf output_file.tar.gz ./target_dir
target_dirをアーカイブとしてまとめ、gzipで圧縮したoutput_file.tar.gzを生成する。
解凍
tar -zxvf xxxx.tar.gz
拡張子.tar.gzを解凍する。
オプションの意味
| オプション | 説明 |
|---|---|
| -z | gzip形式にアーカイブを圧縮・展開する。 |
| -c | 新しくアーカイブを作成する。 |
| -x | アーカイブを展開する。 |
| -v | 作成・展開するアーカイブのファイルリストを表示する。 |
| -f | アーカイブファイルを指定する。 |
他の形式での圧縮/解凍
| オプション | 形式 |
|---|---|
| -j | tar.bz2 |
| -J | tar.xz |
| -z | tar.gz |
tar.bz2
圧縮
$ tar -jcvf output_file.tar.bz2 ./target_dir
解凍
$ tar -jxvf output_file.tar.gz
tar.xz
圧縮
$ tar -Jcvf output_file.tar.xz ./target_dir
解凍
$ tar -Jxvf output_file.tar.xz
解凍せずに中身を確認する tzf
$ tar -tzf output_file.tar.gz
./target_dir/
./target_dir/bbb.txt
./target_dir/aaa.txt
上書きせず解凍する k
xで解凍する際、既にあるファイルを上書きせず解凍する。
$ tar -kzxvf output_file.tar.gz
x ./target_dir/: Already exists
x ./target_dir/ccc.txt
x ./target_dir/bbb.txt: Already exists
x ./target_dir/aaa.txt: Already exists
tar: Error exit delayed from previous errors.
存在しなかった./target_dir/ccc.txtは解凍されファイルが生成された。
一つでも既存のファイルがある場合、tar: Error exit delayed from previous errors.がでるようだ。
オプション
| option | 説明 |
|---|---|
| -t | アーカイブの中身のリストを出力する。 |
| -k | xでの解凍時に既にあるファイルを上書きしない。 |
| -A | アーカイブにファイルを追加する。 |
終わりに
zipコマンドでの圧縮方法はこちら
参考
treeコマンドで隠しファイルの表示
Linuxコマンドschedule2020-01-10
tarコマンドの使い方と圧縮のオプション
Linuxコマンドschedule2018-07-08
zipコマンドでのファイル圧縮と便利なオプション
Linuxコマンドschedule2018-01-19