tar
コマンドはファイル、ディレクトリのアーカイブ、アンアーカイブだけではなく、アーカイブ以外の処理を行うことができます。
ここでは以下の5つの小技を紹介します。
- tarファイルのサイズをざっくり見積もる
- tar.gzファイルのサイズを見積もる
- カレントディレクトリとtarファイルの中身を比較する
- 特定のディレクトリ、ファイルだけ解凍する
- tarファイルの中身を確認する
tarファイルのサイズをざっくり見積もる
$ tar cf - /path/to/archive/ | wc -c
ハイフン(-
)で標準出力に渡します。これをwc
の-c
オプションでバイトカウントすることで、tar
ファイルのサイズを取得します。
tar.gzファイルのサイズを見積もる
gzで圧縮する場合の見積もりです。
$ tar czf - /path/to/archive/ | wc -c
カレントディレクトリとtarファイルの中身を比較する
$ tar dfz archive.tar.gz
d
オプションで比較を行うことができます
実行例
$ mkdir test
$ touch test/test.{1..3}
$ tar cfz test.tar.gz test
$ tar dfz test.tar.gz #変更がないのでなにも返らない
$ echo hoge > test/test.1 #test.1を変更する
$ tar dfz test.tar.gz #変更箇所が表示される
test/test.1: Mod time differs
test/test.1: Size differs
特定のディレクトリ、ファイルだけ解凍する
$ tar xvf archive.tar path/to/directory/ or path/to/file
tarファイルの中身を確認する
その1(t オプションを利用する方法)
$ tar tvf archive.tar.gz
その2(lessを利用する方法)
$ less archive.tar.gz