
同じような質問がたくさんあることはわかっていますが、今のところ答えは見つかっていません。
では、現在の作業ディレクトリにいると仮定しましょう:/テスト/ アーカイブ「test.tar.gz」に追加したいのですが、/テスト/アーカイブ/ に含まれるすべてのファイル/テスト/ファイル/そしてこのディレクトリfiles/を削除します
私は試した :
tar -cz -C archive -f "test.tar.gz" -C files ./* && rm -rf files
しかし成功しませんでした。
何かご意見は ?
ありがとう!ニコ
答え1
$ tar -zcvf archive/test.tar.gz files
files/
files/1
files/2
files/3
$ tar -zcvf archive/test.tar.gz -C files .
./
./1
./2
./3
tar の構造をどのようにしたいかによって異なります。
答え2
すでにログインしていると仮定すると、このような単一のコマンドが機能します。/test
(tar -cvf - ./files/* | gzip >./archive/test.tar.gz) && rm -rf files
を使用することで、コマンド-
の出力を吐き出し、それをパイプして、その出力を次にリダイレクトします。tar
stdout
gzip
./archive