使用mv时出错

当我尝试播放一些真正没有意义的文件时,我收到了一个错误。 我收到这个错误:

mv: cannot move `thatDir' to a subdirectory of itself, `/usr/local/apache-tomcat-6.0.32/webapps/thatDir' 

运行以下命令以replace/ webapps中已有的thatDir时:

 From /home/myUser/war_files/ mv thatDir /usr/local/apache-tomcat-6.0.32/webapps 

我也尝试了一切:

 sudo mv /home/myUser/war_files/thatDir /usr/local/apache-tomcat-6.0.32/webapps 

没有运气。 我有必要的权限做到这一点(加上我使用sudo),仍然没有。 之前我的办公室里的其他人已经完成了这个完全相同的操作(谁不在这里工作)。

我试着用googlesearch,甚至在serverfault上看到另一个问题,但是大家都说这个问题和这个问题上的评论一样:“也许有符号链接,你不知道。

这不是问题。 我尝试使用readlink -e查看目录(如其他票据中的注释所示),但没有涉及符号链接。

任何帮助,将不胜感激。

链接到与此相关的其他问题: 无法将文件夹移动到其自身的subdirectoy – 发生了什么事?


正如我在下面的评论回应中提到的,下面是重现此问题的步骤。 正如你将会看到的,链接不能为此负责(另外,我正在使用bash unix):

 mkdir /home/myUser/testOuter cd /home/myUser/testOuter mkdir test1 cd test1 mkdir moveMe cd moveMe touch testfile1.txt cd ../.. mkdir test2 cd test2 mkdir moveMe cd moveMe touch testfile2.txt cd ../../test1 mv moveMe ../test2 

然后我得到错误输出:

 mv: cannot move `moveMe' to a subdirectory of itself, `../test2/moveMe' 

但显然不是在自己的子目录中,也没有涉及的任何链接。

它可以工作,如果我从test2/moveMe/删除文件,但是不可接受,因为我需要用test2覆盖test1中的所有文件,保留test1中不存在的现有文件(如用户生成的内容),以及移动test1中不存在的任何文件。 (即定期,每天的移动操作types)。

实际上,当你试图用另一个目录(这是不允许的)覆盖非空目录时,你可能会碰到这个错误 ,有人指出你会得到一个不正确的错误信息。