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