删除 ~/tmp 文件夹会删除所有数据并重置 Mac OS X 10.10 (Mavericks)

删除 ~/tmp 文件夹会删除所有数据并重置 Mac OS X 10.10 (Mavericks)

我试图从主目录下我自己创建的临时文件夹中删除数据,但意外地删除了主目录下的默认“tmp”目录~/tmp。令我震惊的是,它几乎抹去了所有内容!“垃圾箱”里什么都没有。我所有的文档、下载、图片、项目。都消失了!

我也没有时间机器备份。但我不明白删除该tmp文件夹后到底发生了什么!我记得它曾经有一些npm-*文件/文件夹。它怎么会有力量抹去一切?当然我用过,sudo但我在 Linux 上工作时也用过无数次,从来没有发生过这种情况。我该如何恢复?

这是造成严重破坏的命令

sudo rm -rf * tmp/

答案1

您声明要删除以下内容:~/tmp。但是您说您运行的命令是这样的:

sudo rm -rf * tmp/

很遗憾,当您运行此命令时所在目录的所有内容(很可能是您的主目录)都已被清除。

命令你应该已经运行的是这样的:

sudo rm -rf ~/tmp

运行第一个命令时,出现了以下错误:

  1. 您有一个通配符(*),其基本含义是“对该目录中的所有内容(包括子目录)进行操作”。
  2. *和之间有一个空格tmp/,这没有意义。
  3. 其工作方式rm是删除所提供的空格分隔列表中的所有项目。因此,当您sudo rm -rf使用运行* tmp/时,它基本上告诉系统“对该目录中的所有内容(包括子目录)进行操作,然后在完成后删除该tmp/目录。”当然,-r还会告诉rm系统搜索您的子目录递归地

所以当一切都说完了......是的......你通过“终端”告诉 Mac OS X 从你运行该命令的目录中删除所有文件和目录。

你还这么说:

“垃圾”中没有任何内容。我的所有文档、下载、图片、项目。全部消失了!

“废纸篓”在“终端”中不起作用,因为整个“废纸篓”概念是 Mac OS X“Finder”系统的安全网部分。当您在“Finder”中删除某些内容时,它会进入“废纸篓”,但如果您rm从“终端”运行,则项目会被删除并消失。除非您有备份,否则这些东西会消失。抱歉。什么也做不了。

这就是为什么在命令行的世界里——以及对这样的文件的操作中——总是建议您使用以下命令执行“dry run”ls(列出目录内容)如下:

ls -la * tmp/

由于ls只列出文件和目录,通过首先运行 with ls -la,您将获得参数将作用于的* tmp/所有文件和目录的列表。并且 — 在某些替代方案中 — 如果您使用命令运行该命令,您会立即看到该命令可能执行的操作,并且知道,“嘿!这似乎不对……”然后跳回绘图板,看看如何责备您的清理工作。* tmp/sudo rm -rf

答案2

如果您的工作目录是主目录,则您删除了主目录中的所有内容,因为您指定了*,即当前目录中的所有内容。由于有一个空格,因此tmp/被读取为另一个参数,但这没有效果,因为*删除了所有内容。

现在您所能做的就是搜索硬盘恢复软件。

相关内容