我有一个我不想命名为'〜'的文件夹,所以从命令行输入
rm -rf ~
并意外删除了我的主文件夹(因为〜解析为/ home / username)。有什么办法可以退回,还是我基本上需要从头开始重新创建帐户?
rm -rf "~"
引号会查找该文字名称,而不是扩展它。但是无论如何,我都会害怕使用它–我会使用类似ls
或cd
首先使用的方法来验证我是否获得了正确的目录,或者从GUI文件管理器中删除了该文件夹。也许先重命名dir(mv "~" tilde
),然后验证并删除。
我有一个我不想命名为'〜'的文件夹,所以从命令行输入
rm -rf ~
并意外删除了我的主文件夹(因为〜解析为/ home / username)。有什么办法可以退回,还是我基本上需要从头开始重新创建帐户?
rm -rf "~"
引号会查找该文字名称,而不是扩展它。但是无论如何,我都会害怕使用它–我会使用类似ls
或cd
首先使用的方法来验证我是否获得了正确的目录,或者从GUI文件管理器中删除了该文件夹。也许先重命名dir(mv "~" tilde
),然后验证并删除。
Answers:
通常,没有简单的方法可以退回。
您可以从日常备份中还原。
其他人(例如@RiMMER,@Adam和@James T)提到,对于大多数文件系统,有可能恢复大部分或全部数据(也许没有文件名),因为实际上数据并未被清零,只能删除从文件表。这不仅适用于Linux,而且适用于Windows和Mac。
但是,没有人提到最重要的事情- 关闭计算机。现在。。
许多程序-包括您当前正在使用的Internet浏览器-会将数据缓存到硬盘驱动器,并且您所做的几乎任何事情都会导致计算机调整大小/写入交换文件。这两件事都会写入硬盘驱动器的空闲扇区,有可能覆盖您的宝贵数据。
因此,请关闭计算机,取出硬盘驱动器,然后将其放入另一台计算机。将硬盘驱动器安装为只读,然后将文件恢复到单独的硬盘驱动器上。当你恢复一切可能的利益-而只有那么-写的文件复制回原来的驱动器。
killall rm
而不是关闭。
我相信,每个Linux用户在某个时间点都必须先实际学习这一痛苦的课程,然后才能真正了解备份的重要性,并注意细节和注意事项。
例如,如果要删除看起来很奇怪的文件,则可以首先在该奇怪的文件上运行没有副作用且不会更改数据的命令。例如,您是否跑步
cd ~
在尝试删除该文件夹之前,您会发现它会将目录更改为您的主文件夹,而不是该~
文件夹。一旦完成了足够的疑难解答步骤以了解真正的命令,您便需要正确地cd
进入该~
文件夹,然后可以按向上箭头键从历史记录中提取最后一个命令,然后更改cd
为rm
,然后才尝试删除该文件夹。
我建议在执行任何永久性操作之前,采取类似步骤。它不是永久性的或万无一失的,但是,如果您在执行具有副作用的动作时采取这种谨慎的态度,则有更好的机会防止这些糟糕的时刻。
ls
之前和在您之前,先看看rm
。
如果您的外部驱动器足够大,则可以选择另一个最安全的选择。您将需要足够的空间来存储包括可用空间在内的整个主分区。
从CD引导,根本不挂载主驱动器。安装外部驱动器。dd将主驱动器分区放入外部驱动器上的文件中。将文件挂载为回送设备可在此映像上执行不删除操作,这是安全的,前提是您不会损坏原始文件系统。根据文件系统的不同,可能要尝试很多事情,其中有些可能具有破坏性。
即使我以只读方式挂载它也不知道会做什么,这为我节省了一次Reiser4的beta版本。我当时仍在写日记,所以在某处读书。
这也是从即将死去的驱动器中保存数据的好技术。
alias rm="rm -i"
假设您正在使用Bash shell(将其放入您的.bashrc文件中,以便将其持久保存到您打开的新shell中)。
这将导致rm要求您确认要删除的内容,这特别好,特别是在执行-rf时,但是它还会在提示符下将'〜'扩展到主目录的完整路径,这应该会给您提示您不是要删除文件“〜”,而是实际上是您的homedir。
$ rm -rf ~
rm: examine files in directory /nas/users/u12345/unix (yes/no)? n
从技术上讲,这不是您问题的答案,但可能会帮助您将来避免此类问题。
编辑:某些人可能会阻止您使用此技术,因为使用“ rm”命令会使您不太谨慎。以我的经验,这远非事实。实际上,别名的作用是阻止您使用“ rm -rf”-如您所知,它将导致许多您不想回答的提示-并获得无提示的“ rm -rf” “您需要故意将rm命令引用为/ bin / rm(或其他名称)。通常,这将导致更自觉和故意地使用“ rm”命令-因为您总是需要在使用rm之前先在头脑中选择“ rm或/ bin / rm”,才能在服务器和任何其他发生的情况下使用要登录。每个人在使用rm之前都认为会更安全的世界!
-f
覆盖该-i
选项。
rm -i my_list_of_files
。然后,我使用CTRL-C并回想我的命令以将其修改为rm -rvf my_list_of_files
很抱歉您的数据。其他人都对如何处理您的数据问题有所了解,但是这里有一些有关下次您看到文件夹已校准时如何处理的信息~
。
-rf
rm或任何疯狂的强大参数来进行rm删除。取而代之的是让它顺畅而缓慢,并确保您可以看到正在发生的事情。可以将代字号转义到shell中,而无需将其扩展到您的主目录。从理论上讲,您可以 rm -rI \~
,但是可以更进一步。
cd \~
要进入该文件夹,甚至可以使用它pwd
来检查您是否已到达该文件夹。十个在那里时,将其内容删除。再次小心,但是rf -rI *
如果需要也可以清理文件夹.*
。cd ..
并使用删除目录rmdir \~
。恢复工具-命令行:
恢复工具-Gui:
信息:
以我的个人经验,我使用“ UFS Explorer”和photorec取回数据
(1)=不开源,不免费
(2)=非开源免费
(3)=开源免费
(4)=有ntfs支持
(5)=具有目录结构功能
rm是永远的。
尽管这现在对您无济于事,但是您将来可以不使用rm或真正强迫自己使用,可以在路径rm中添加之前找到的脚本,该脚本将文件移至其他时间清理的垃圾箱(允许您会犯错误而不是成为SOL)。