Ubuntu 16.04:错误地以“~/*”为目标执行了“mv”,并且无法理解结果

Ubuntu 16.04:错误地以“~/*”为目标执行了“mv”,并且无法理解结果

当想要将 MongoDB 从 3.4 升级到 3.6 时,我进入了该/etc/apt/sources.list.d目录。从那里我想将mongodb-org-3.4.listmongodb-org-3.4.list.save文件移动到我的主目录。

我首先执行了一个mv mongodb-org-3.4 ~/*.由于某种原因,我设法将通配符移到命令的末尾。看到通知后,我通过再次键入 , 并在末尾添加通配符来mv: cannot stat 'mongodb-org-3.4': No such file or directory“更正”此问题。mv mongodb-org-3.4* ~/*我没有使用 sudo,我不是 root。

mv mongodb-org-3.4* ~/*作为我得到的回应

mv: cannot remove 'mongodb-org-3.4.list': Permission denied
mv: cannot remove 'mongodb-org-3.4.list.save': Permission denied
mv: inter-device move failed: '/home/user/atlassian' to '/home/user/windows-storage/atlassian'; unable to remove target: Directory not empty
mv: inter-device move failed: '/home/user/data' to '/home/user/windows-storage/data'; unable to remove target: Directory not empty
mv: cannot create symbolic link '/home/user/windows-storage/dockervolumes/sharemanager': Read-only file system

然后我进入该/home/user/windows-storage目录并对其进行 ls 查找,却发现可能我的所有主目录都已复制(???)到此安装目录。

我损坏了什么东西吗?或者我“仅”将主目录复制到此安装目录?

为什么这个mv命令的行为有点像cp

好吧,事实证明文件被移动了,但不是全部,因为我Ctrl+\因为它花了异常长的时间才能完成

答案1

星号已由您的 shell 展开,因此生成的命令是

mv mongodb-org-3.4.list mongodb-org-3.4.list.save ... ~/atlassian ~/... ~/data ... ~/windows-storage

(基于您发布的错误)。因此,您指示mv将所有列出的文件和目录移动到~/windows-storage- 您的主目录的内容尚未被复制,它们已被移动。

要恢复,您需要查看 的所有内容~/windows-storage,并将适当的内容移回(注意*)。

相关内容