親ディレクトリなしでファイルをコピーするには、tarを使用します。

親ディレクトリなしでファイルをコピーするには、tarを使用します。

tarあるディレクトリから別のディレクトリにコピーを使用しようとしていますmy_folder。このコードを調整したいのですが、フォルダを抽出するときに親ディレクトリを削除する方法がわかりません。

tar cf - /f1/f2/my_folder | tar -C /f1/f3/f4/ -xf -

誰でもどんなアイデアがありますか?

ベストアンサー1

まず明示的に作成できますcd

( cd /f1/f2/my_folder && tar -c -f - .  ) | tar -x -f - -C /f1/f2/f4

...しかし、このオプションはすでに慣れているので、-Cパイプラインのアーカイブの作成に関しても利用できます。

tar -c -f - -C /f1/f2/my_folder . | tar -x -f - -C /f1/f2/f4

my_folder内容だけでなくディレクトリもコピーしたい場合は、

tar -c -f - -C /f1/f2 my_folder | tar -x -f - -C /f1/f2/f4

個人的には、私はこれがすべてのオプションについて少し混乱していると思うので、おそらく次のものを使用しますrsync

rsync -a /f1/f2/my_folder/ /f1/f2/f4

またはディレクトリ(コンテンツだけでなく)をコピーするには、

rsync -a /f1/f2/my_folder /f1/f2/f4

(ソースパスの微妙な違いに注意してください。)

おすすめ記事