linux – mv删除了我的目录.为什么?

我试图纠正目录上的拼写,发出一个mv命令,目录现在已经消失.我想了解 – 特别是 – 发生了什么.

这是我跑的命令:

mv micheal_franti_theme/ michael_franti_theme/

我明白不应该包括斜杠:我快速移动并使用自动完成.

该命令运行时没有任何错误或警告.我尝试将find用于新旧拼写,但都没有返回任何结果.所以发生了什么事? mv实际上做了什么?是否有机会恢复目录及其内容

CentOS 6.5上的ext4; mv版本8.4

附加信息

不知道为什么这会降低选票.

一个名为“micheal_franti_theme”的目录.我跑了上面的命令,然后跑了ls.没有更多目录.

当我运行该命令时,文件系统上的任何位置都没有名为“michael_franti_theme”的目录.

从命令中可以看出,上下文位于同一个子目录中,因此mv刚刚更新了inode表(与文件系统之间的复制相比).

我运行了以下内容

sudo find / -name micheal_franti_theme

没有结果.目录消失了

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

十多年来我一直在使用Linux.我以前从未见过这种情况,所以我将它带到了serverfault.

实际结果早已从回滚缓冲区中消失,但这里是历史记录中的相关行:

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

解决方法:

我可以让该命令无错误运行的唯一方法是两个目录都已存在.或者,如果只存在源名称.

如果两个目录都存在,那么该命令的作用是将一个目录移动到另一个目录中.所以,你现在将拥有一个名为michael_franti_theme / micheal_franti_theme的目录.

如果仅存在源名称,则该命令的作用是简单重命名.所以你有一个名为michael_franti_theme的目录.

在这两种情况下,重命名后都会存在名为michael_franti_theme的目录.如果管理此系统的人不止一个,则可以在mv命令之后但在运行任何ls或其他命令之前重新命名该目录以查找重命名的目录.

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

相关文章

Centos下搭建性能监控Spotlight
CentOS 6.3下Strongswan搭建IPSec VPN
在CentOS6.5上安装Skype与QQ
阿里云基于centos6.5主机VPN配置
CentOS 6.3下配置multipah
CentOS安装、配置APR和tomcat-native