私がこのようなフォルダ構造を持っているとしましょう:
/parentFolder/
folder1/
folder1.1/
file1
folder2/
file2
Folder1.1内のfolder2をコピーして、file2も
/parentFolder/folder1/folder1.1/folder2/file2
つまり、フォルダ構造は次のようになります。
/parentFolder/
folder1/
folder1.1/
folder2/
file2
file1
folder2/
file2
?
私が行くだけならcp -R /parentFolder/folder2 /parentFolder/folder1/folder1.1
次に、folder2のcontentをコピーしますが、folder2もコピーしたいと思います。
関連する質問:答えはmv
にも当てはまりますか?
cp -R parentFolder/folder2 parentFolder/folder1/folder1.1/folder2
どのcp
を使用していますか? UNIXツールは、システムごとに似ていますが、状況によっては動作が異なる場合があります。
GNU cp
はあなたが望む振る舞いをします。 BSD cp
には、説明した動作があります。最初の引数からスラッシュを削除して、次のように記述してみてください。
cp -R /parentFolder/folder2 /parentFolder/folder1/folder1.1
のではなく:
cp -R /parentFolder/folder2/ /parentFolder/folder1/folder1.1
ウィキペディアによると (1) 、これはBSD cp
があなたが望むことをする方法です。
この種のアクションにはrsync
を使用することを好みます。ファイルをコピーするだけでなく、アクセス許可をコピーして、従来のcp
よりも転送速度を向上させることができます。
末尾の/
目的地でのあなたの要件にとって重要です。
次のようなものを試してください:
rsync -aHSv /parentFolder/folder2 /parentFolder/folder1/