如何用 cp 覆盖所有文件夹?

如何用 cp 覆盖所有文件夹?

我有两个文件夹,我想做:

 cp -R folder1/ folder2/

这样我将创建folder2 中缺少的所有子文件夹,并复制其中的文件。而folder2 中所有在folder1 中缺失的文件夹都保持不变。

答案1

cp -fR folder1/ folder2/

-f 标志强制删除目标文件(如果无法打开)

请参阅 cp 的手册页

另外,另一种选择是使用同步,请参阅此答案例如:

如何用mv覆盖目标文件?

答案2

cp -R folder1/. folder2/

folder1/*如果您不介意它*不会匹配以.like开头的“隐藏”文件,您可以改为使用.bash_profile

如果folder2中存在与folder1中的文件同名的文件,这些文件将被覆盖,且不会出现提示或警告。

答案3

不要使用cp,而是使用mv,因为: cp复制所有文件会分散时间和 I/O,但mv只更改 inode:所以:

mv -f dir1/ dir2

相关内容