現在のディレクトリではなく、別のディレクトリにtarアーカイブを作成したい。
私はこのコマンドを試しました:
tar czf file.tar.gz file1 -C /var/www/
しかし、現在のディレクトリにアーカイブを作成します。どうして?
特にneedを使用しない場合の簡単な方法は、-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
テーマには100万のバリエーションがありますが、これで開始できます。 v
フラグを追加して、tar
が実際に行うことを確認します。
圧縮されたデータをストリーム(-)に変換し、選択した場所に簡単に名前を変更して検索(>)します(また、相対パス(./)を常にtarで圧縮しているので、解凍するときに扱いやすい)
tar -cvf - ./dir-to-compress/* > /location-of-new-file/filename.tar
私は、それはそうあるべきだと思います:tar czf file.tar.gz -C /var/www/ file1
それは私にとってはうまくいきます。ディレクトリを変更し、ファイルを選択するよう指示します。
-Cオプションは、czfオプションの前に指定する必要があります。次のコマンドを試してください。
tar -C/var/www/-czf file.tar.gz file1