问题描述
我有一个包含两个目录的文件夹:build
和copy-build
。
我需要通过bash复制copy-build
中build
内的文件。
如果这些文件已经存在,则必须覆盖它们。
我尝试过:
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的文件。