一切都到哪里去了?

一切都到哪里去了?

我在移动文件时不小心输错了命令 mv misc/* *,而不是mv misc/* . 所有内容都去哪儿了,我该如何恢复,杂项文件夹不见了?

答案1

我认为一切都转到了第二个返回的最后一个对象*。如果它不是目录,您将收到错误。

转到运行mv并调用的目录echo *。然后查看最后打印的目录。


我认为发生的情况如下:

你的mv misc/* *被你的外壳扩展为

mv multiple-objects-from-within-misc multiple-objects-from-within-the-current-directory

此序列中的最后一个对象是您的文件和目录的目标。根据您的评论,我猜是目录。不幸的是,来自上层目录和来自上层目录的tmp对象现在都在一起了(以及已经存在的所有内容),您无法轻易分辨哪个来自哪里。misctmp

答案2

如果你运行 ls,你可能会注意到现在有一​​个名为*

是的,您将其重命名为*

要恢复它,请再次使用 mv,但您需要转义 *。

mv ./\* ./misc

* 之前的 \ 对其进行了转义,这意味着它被视为文字 *,而不是尝试匹配其他内容。

如果您不记得您在文件系统中的位置,请使用find / -name '\*' 2>/dev/null来定位它们。

相关内容