我正在使用脚本将目录复制到指定位置。当我运行时,cp -r ~/.ipython ~/some/path/.ipython
目录.ipython
按预期复制到指定位置。但是当我再次运行此命令时,~/some/path/.ipython/.ipython
会创建目录。
我理解这是递归的,但是哪个命令会复制一个目录,而该命令的后续调用会阻止在同一个目录中递归创建目录?
答案1
是的,正如您所注意到的,没有什么可以阻止该命令在每个其他目录中cp
创建一个新目录。.ipython
.ipython
如果您在重复运行的脚本中使用它,避免该问题的最佳方法不是使用cp
而是rsync
:
rsync -vua ~/.ipython/ ~/some/path/.ipython/
/
注意,路径末尾的尾随对于 来说很重要rsync
。如果您正在尝试,请不要忘记添加它。
编辑:Kruug 的答案应该也能起到作用,但rsync
会产生更好的性能,特别是当你重复这样做的时候。
答案2
cp -r ~/.ipython/ ~/some/path/.ipython
添加斜线,它会复制目录的内容