回答:
他のディレクトリへの変更を指示するために特に使用する必要がない場合、簡単な方法は、コマンドラインでアーカイブへのフルパスを指定することです。その後、任意のディレクトリに移動して、アーカイブ内に必要なディレクトリ構造を作成できます。-C
tar
以下は、アーカイブを作成し、アーカイブ内のパス情報なしで、現在のディレクトリ(それが何であれ)からアーカイブ/var/www/file.tar.gz
に入れfile1
ます。
tar czf /var/www/file.tar.gz file1
もちろん、パス(アーカイブ、構成ファイル、またはその両方)は相対パスにすることもできます。がにある場合、あなたはにいて、にアーカイブを作成したい場合file1
は、次のようなものを使用できます。/tmp
/var/spool
/var/www
tar czf ../www/file1.tar.gz /tmp/file1
テーマには数百万のバリエーションがありますが、これで開始できます。実際にv
何をするかを見たい場合は、フラグを追加してくださいtar
。
$PWD
がわからないので、この例では絶対パスを使用するのが最も安全と思われます。
file1
すれば、tarアーカイブ内になります/tmp
。これは、予想どおりの場合とそうでない場合があります。
圧縮データをストリームに変換し(-)、名前を変更し、選択した場所に簡単に移動(>)します(また、相対パス(./)を常にtarするため、圧縮解除時に対処しやすくなります)
tar -cvf - ./dir-to-compress/* > /location-of-new-file/filename.tar
-C
はるかに慣用的(かつ短い)です。
私は思うに、それは:
tar czf file.tar.gz -C /var/www/ file1
それは私のために働く。ディレクトリを変更してからファイルを選択するように指示します。
-C
(あいまいに文書化されているので奇妙ではありません)。詳細については、serverfault.com / q / 416002/86283を参照してください。