我在移动文件时不小心输错了命令
mv misc/* *
,而不是mv misc/* .
所有内容都去哪儿了,我该如何恢复,杂项文件夹不见了?
答案1
我认为一切都转到了第二个返回的最后一个对象*
。如果它不是目录,您将收到错误。
转到运行mv
并调用的目录echo *
。然后查看最后打印的目录。
我认为发生的情况如下:
你的mv misc/* *
被你的外壳扩展为
mv multiple-objects-from-within-misc multiple-objects-from-within-the-current-directory
此序列中的最后一个对象是您的文件和目录的目标。根据您的评论,我猜是目录。不幸的是,来自上层目录和来自上层目录的tmp
对象现在都在一起了(以及已经存在的所有内容),您无法轻易分辨哪个来自哪里。misc
tmp
答案2
如果你运行 ls,你可能会注意到现在有一个名为*
是的,您将其重命名为*
!
要恢复它,请再次使用 mv,但您需要转义 *。
mv ./\* ./misc
* 之前的 \ 对其进行了转义,这意味着它被视为文字 *,而不是尝试匹配其他内容。
如果您不记得您在文件系统中的位置,请使用find / -name '\*' 2>/dev/null
来定位它们。