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

问题描述

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

我需要通过bash复制copy-buildbuild内的文件

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

我尝试过:

 cp -r ./SourceFolder ./DestFolder

但是SourceFolder文件夹被复制到DestFolder,相反,我需要将SourceFolder文件复制到DestFolder

你能帮我吗?

解决方法

假设SourceDir中没有子目录,则应尝试

cp ./SourceFolder/* ./DestFolder

有关更多信息,请参见the manual

,

使用-R选项代替-r,并在源目录的名称中明确包含/

cp -R ./SourceFolder/ ./DestFolder

根据-R选项的描述:

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


来自man cp的兼容性部分:

cp实用程序的历史版本具有-r选项。这个实现 支持该选项;但是,强烈建议不要使用它,因为它 无法正确复制特殊文件,符号链接或FIFO的文件。