mv 删除了我的目录。为什么?

mv 删除了我的目录。为什么?

我试图更正目录上的拼写,发出了MV命令,目录现在消失了。我想具体了解发生了什么。

这是我运行的命令:

mv micheal_franti_theme/ michael_franti_theme/

我知道不应该包含斜杠:我移动得很快并使用了自动完成功能。

该命令运行时没有任何错误或警告。我尝试使用寻找对于旧的和新的拼写,但都没有返回任何结果。所以发生了什么事?做了什么MV实际上呢?有机会恢复目录及其内容吗?

CentOS 6.5 上的 ext4; MV版本8.4

附加信息

不知道为什么这会导致选票下降。

有一个名为“micheal_franti_theme”的目录。我运行了上面的命令,然后运行LS。没有更多的目录。

当我运行该命令时,文件系统上的任何位置都不存在名为“michael_franti_theme”的目录。

从命令中可以看到,上下文位于同一个子目录中,因此MV刚刚更新了索引节点表(相对于文件系统之间的复制)。

我运行了以下命令:

sudo find / -name micheal_franti_theme

没有结果。目录没了

此问题中发布的所有命令都是直接从命令提示符复制的。

我经常使用 Linux 已有十多年了。我以前从未见过这种情况发生,所以我将其引入服务器故障。

实际结果早已从回滚缓冲区中消失了,但以下是相关行历史:

1097  ls
1098  mv micheal_franti_theme/ michael_franti_theme/
1099  ls
1100  find / -name michael_franti_theme 2>/dev/null
1101  find / -name micheal_franti_theme 2>/dev/null
1102  sudo find / -name michael_franti_theme
1103  sudo find / -name micheal_franti_theme

答案1

我可以让该命令运行而不会出现错误的唯一方法是两个目录都已存在。或者如果仅存在源名称。

如果两个目录都存在,则该命令的作用是将一个目录移动到另一个目录中。因此,您现在将拥有一个名为 的目录michael_franti_theme/micheal_franti_theme

如果仅存在源名称,则该命令所做的只是简单的重命名。所以你会有一个名为michael_franti_theme.

michael_franti_theme在这两种情况下,重命名后都会存在名为的目录。如果有多个人管理该系统,则该目录可能在命令之后mv但在运行任何ls或其他命令来查找重命名的目录之前再次重命名。

也有可能,您当前的工作目录不是您想象的那样,并且文件位于您现在正在查看的文件系统中的其他位置。

相关内容