运行复制命令sudo cp -v -r -f source destination
,对于一些目录和文件,出现错误cp: cannot overwrite directory with non-directory
。
答案1
情况1当您尝试复制与目录(目标)同名的文件(源)时会出现此错误。
案例 2当您尝试在已经存在同名对象的目录(目标)中复制符号链接(源)时,会出现此错误。
解决方案
使用同步另请参阅以下有关符号链接的选项
-l, --links 将符号链接复制为符号链接
-L, --copy-links 将符号链接转换为引用文件/目录
--copy-unsafe-links 仅转换“不安全”的符号链接
--safe-links 忽略指向树外的符号链接
-k, --copy-dirlinks 将指向目录的符号链接转换为引用目录
-K, --keep-dirlinks 将接收方上的符号链接目录视为目录
否则:手动从目标路径中删除对象(或移动、或重命名),然后从源路径复制该对象。
答案2
可能,目标名称的类型不同。例如:您想复制source
到destination
,但要复制的位置source
已经有destination.bin
或destination.vim
或destination.txt