mv目录覆盖另一个

我可能会在这里疯狂,但我试图将目录移动到一个新的位置,覆盖内容(在Linux上,使用bash)。

每次我尝试一下,它都会以“mv:不能移动./src”来响应它自己的子目录“

例如。 我有:

/src /new/dir/src /$ mv src/ new/dir/ 

如果我删除目标目录,那么它工作。 我知道我可以移动源目录的内容来覆盖目的地,但是我想使用相同的命令覆盖目标(如果它已经存在),或者移动源(如果不存在)。

尝试提供每个目录的绝对path。

mv /src /new/dir/

另外,你可以看看rsync复制文件和删除现有的文件,所有这一切。

你也可以做这样的事情:

 #!/bin/sh if [ -e /new/dir/src/ ]; then rm -rf /new/dir/src/ fi mv /src /new/dir/ 

除非你关心把文件保存在/new/dir/src/ ,在这种情况下rsync会是一个更好的select。