我正在使用move命令mv -f $file1 $file2
将文件从源目录移动到目标目录。我收到的失败信息是:
mv: cannot create regular file $file2:File exists
你能告诉我移动命令导致此类失败的原因吗?
有没有办法解决这个错误?
答案 0 :(得分:0)
该文件确实存在吗?如果它存在,并且您 SURE 要覆盖它,请添加-f标志,这将强制命令继续;
mv -f file1 file2
答案 1 :(得分:0)
此错误可能是由特权冲突引起的,偶尔也会在文件名中使用非法字符引起。确保文件名中没有异常的特殊字符,并验证文件移动到的目录中是否还没有同名文件。您可能需要使用上面目标目录中的ls -l
来查看权限设置是否允许您读取/写入目录。
答案 2 :(得分:0)
这是由竞争条件引起的。您在脚本中运行了多个mv
。