Mac bash将一个目录的所有文件复制到另一个目录

Mac bash将一个目录的所有文件复制到另一个目录,bash,macos,sh,Bash,Macos,Sh,我有一个包含两个目录的文件夹:build和copy build 我需要通过bash复制copy build中copy build中的文件 如果这些文件已经存在,则必须覆盖它们 我试过: cp -r ./SourceFolder ./DestFolder 但是SourceFolder文件夹被复制到DestFolder,而我需要将SourceFolder文件复制到DestFolder 你能帮我一下吗?使用-R选项而不是-R,并在源目录的名称中明确包含/ cp -R ./SourceFolder/

我有一个包含两个目录的文件夹:
build
copy build

我需要通过bash复制
copy build
copy build
中的文件

如果这些文件已经存在,则必须覆盖它们

我试过:

 cp -r ./SourceFolder ./DestFolder
但是
SourceFolder
文件夹被复制到
DestFolder
,而我需要将
SourceFolder
文件复制到
DestFolder


你能帮我一下吗?

使用
-R
选项而不是
-R
,并在源目录的名称中明确包含
/

cp -R ./SourceFolder/ ./DestFolder
-R
选项的说明中:

如果源文件 以/结尾时,将复制目录的内容,而不是 目录本身


从man cp的兼容性部分:

cp实用程序的历史版本有一个-r选项。此实现 支持这一选择;但是,强烈反对使用它,因为它 无法正确复制特殊文件、符号链接或fifo


使用
-R
选项而不是
-R
,并在源目录的名称中明确包含
/

cp -R ./SourceFolder/ ./DestFolder
-R
选项的说明中:

如果源文件 以/结尾时,将复制目录的内容,而不是 目录本身


从man cp的兼容性部分:

cp实用程序的历史版本有一个-r选项。此实现 支持这一选择;但是,强烈反对使用它,因为它 无法正确复制特殊文件、符号链接或fifo


假设
SourceDir
中没有子目录,您应该试试

cp ./SourceFolder/* ./DestFolder

有关更多信息,请参阅。

假设
SourceDir
中没有子目录,您应该试试

cp ./SourceFolder/* ./DestFolder

有关更多信息,请参阅。

我刚刚尝试了这个,它似乎有效:cp-r./copy build//你能告诉我有什么变化吗?所以建议使用-R而不是-R,对吗?那么,斜线后的最后一点是否无用/SourceFolder/。是的,额外的斜杠使源文件中的每个文件都复制到目标目录中,而不是源目录本身。我刚刚尝试了这个方法,它似乎有效:cp-r./copy build//你能告诉我有什么变化吗?所以建议使用-R而不是-R,对吗?那么,斜线后的最后一点是否无用/SourceFolder/。是的,额外的斜杠使源文件中的每个文件都复制到目标目录中,而不是源目录本身。
man
是shell脚本编写的最佳朋友。在你的终端上运行
mancp
。最后似乎我已经解决了这个问题。我通常更喜欢使用
rsync
而不是
cp-R
man
是你在shell脚本编写方面最好的朋友。在你的终端上运行
mancp
。最后,我似乎已经解决了它。我通常更喜欢使用
rsync
而不是
cp-R
。最后,我似乎解决了它,我做了如下操作:cp-R./copy build//build最后似乎我解决了这个问题,我做了这样的事情:cp-R./copy build//建造