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
(ソースパスの微妙な違いに注意してください。)