回答:
あなたが探しているのは-C
オプションです:
$ man tar
<snip>
-C, --directory DIR
change to directory DIR
あなたの例ごとの使用法:
$ tar xvzf archivename.tar.gz -C /tmp/testdir/ sampledir/
また、最新バージョンでtar
は、z
gzip圧縮されたファイルを解凍するためにフラグを必要としないことを知りたい場合があります。彼らはそれであることに気づき.gz
、Do The Right Thingを自動的に行います。
すべてを展開してクレイジーなゲームをプレイする必要はありません。Tarは、次の(簡単な)例に示すように、アーカイブ内のファイルのサブセットの抽出のみを完全にサポートします。
/tmp $ mkdir tarsrc
/tmp $ cd tarsrc
/tmp/tarsrc $ mkdir a b
/tmp/tarsrc $ touch a/aaa b/bbb
/tmp/tarsrc $ tar cf ../tartest.tar .
/tmp/tarsrc $ cd ..
/tmp $ mkdir tardest
/tmp $ cd tardest
/tmp/tardest $ tar xf ../tartest.tar ./a
/tmp/tardest $ ls -R
.:
a/
./a:
aaa
秘Theは、pathspecがtarfileの内容と正確に一致する必要があることです。したがって、を実行するときにtar tf
、パスがで始まる場合はを挿入する必要があり、パスがない場合は除外する./
必要があります。また、サブ-サブ-サブ-サブ-サブ-サブ-サブ-サブパスを抽出したい場合、作業が完了すると、ファイルシステムの深さがNレベルになります。
-C
次に、オプションをtarにしたいです。