こんにちは、ウチイダです。
tar コマンドでアーカイブをするとき、わざわざ対象のディレクトリまで移動するのが面倒な時ってあるじゃないですか。
例えば、Dockerfileでのビルドの際に何かを圧縮するときとか。
あるいは、make コマンドで処理を自動化している場面とか。
そんな時に、横着してディレクトリ移動せずにtar でのアーカイブを実行してしまうと、解凍したときのディレクトリ構造が面倒なことになってしまいます。
# piyo を起点にしてアーカイブしたいのに、カレントディレクトリの直下のディレクトリが含まれてしまう
$ tar zcfv archive.tar.gz ./tar_test/hoge/fuga/piyo
./tar_test/hoge/fuga/piyo/
./tar_test/hoge/fuga/piyo/hogefuga/
./tar_test/hoge/fuga/piyo/hogefuga/fugapiyo/
./tar_test/hoge/fuga/piyo/hogefuga/fugapiyo/text.txt
ディレクトリを指定しても、そのディレクトリに到達するところまで、アーカイブに含まれてしまうんですよね。
これを展開すると、tar_test を起点としてデータが展開されます。
cd で移動したくないときは、-C を使うとよいようです。
$ tar zcfv archive.tar.gz -C ./tar_test/hoge/fuga/ piyo
piyo/
piyo/hogefuga/
piyo/hogefuga/fugapiyo/
piyo/hogefuga/fugapiyo/text.txt
今度は、tar_test やその下のhogeなどが含まれず、piyoを起点としてアーカイブを作ることができました。
カレントディレクトリを変えずに、アーカイブファイルの起点を変更したいときはお試しください。
以上、あなたのお役に立てればうれしいです。